什么是yarn

一种取代npm的 Node的模块管理器,从使用上来看,从npm过度到yarn几乎零成本,除了操作上相近,yarn 同样是一个从 npm 注册源获取模块的工具。
为什么要使用yarn来代替npm呢?从官网的介绍(FAST, RELIABLE, AND SECURE DEPENDENCY MANAGEMENT)可以看出来他比npm更加快速、安全,但我选择yarn一个重要的原因是:yarn有一个 yarn.lock 文件,每次模块被添加时,yarn 就会创建(或更新)yarn.lock 文件,这个文件保证了保证了不同机器下载的包的版本都一样,而npm会根据package.json定义的版本号范围下载包,导致不同机器或者不同时间下载的包的版本不一样。
注意!npm 5.0.x 版本已经会在执行npm i的时候生成package-lock.json的文件,作用就像上面说的一样,“锁”住版本。(但npm新版本还不太稳定,可以等一段时间再使用)

接下来进入正题,Mac安装yarn

yarn 官网 介绍是通过 Homebrew 安装

brew install yarn

但是安装下来的版本为0.16.1,版本太低,需要升级,重点是我通过 brew upgrade yarn 也无法将yarn的版本升级到最新版本。折腾了几遍之后也无法解决,想着用到服务器也不需要Homebrew,那就改用其它安装方式吧。下面是解决方式(不管是安装或者更新):

1.手动移除本地二进制 yarn文件

rm -f /usr/local/bin/yarnpkg
rm -f /usr/local/bin/yarn

2.移除缓存:

rm -rf ${HOME}/.yarn

3.如果之前存在环境变量,在.zshrc.bash_profile有下面配置,移除它:

export PATH="$PATH:`yarn global bin`"

4.通过 curl 安装 yarn :

curl -o- -L https://yarnpkg.com/install.sh | bash

这里查看一下我电脑里的版本:

$ yarn -v
1.3.2

显示是1.3.2版本,那么现在让我们运行上面脚本的下载并安装:

成功安装最新版本(1.6.0)

5.看环境变量是否已修改,查看 .zshrc 或者 .bash_profile,如果没有请添加下面一行:

export PATH="$PATH:$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin"

运行 yarn -v 查看是否正常。正常的话就可以开始使用 yarn:
使用 create-react-app 一个 TypeScript 项目

$ yarn create react-app antd-demo-ts --scripts-version=react-scripts-ts
....
$ cd antd-demo-ts
$ yarn start

curl

curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。

wget区别:wget是个专职的下载利器,可以递归,支持断点;而curl多用来调试网页,提交web数据,可以post/get请求,可以自定义发送头

  • -o filename url 参数是保存网页内容到文件中
  • -L 进行重定向

yarn 安装使用小记相关推荐

  1. 关于npm和yarn 安装vue脚手架

    第一篇博客有点小紧张.轻喷~ 第一步:安装node.js       地址 --------https://nodejs.org/en/ 详细步骤这里就不写了    可以去看     地址 ----- ...

  2. yarn安装依赖包报错 error An unexpected error occurred: “https://registry.npm.taobao.orgnpm/element-ui: get

    yarn安装依赖包报错,error An unexpected error occurred: "https://registry.npm.taobao.orgnpm/element-ui: ...

  3. 安装RAC小记(Oracle11gR2)

     安装RAC小记(Oracle11gR2) PS:前几天,才发现笔记好多,却不知从什么时候起失序了,宠杂地躺倒一地,乱草丛生.趁周末花了点时间重新整理了下(为阅读方便删减了些无关的章节),先分享这一篇 ...

  4. Manjaro安装配置小记

    Manjaro安装配置小记 挂载点记录 因为使用的是120G固态+1T机械硬盘,固态里面还有windows系统,所以省吃俭用一共给Manjaro分配了32g空间在固态,130g左右在机械,根据鸟叔第四 ...

  5. yarn安装依赖速度太慢的解决办法

    本文介绍如何通过修改配置文件解决yarn安装依赖速度太慢的问题. 1.在用户目录文件夹下找到.yarnc文件 2.编辑.yarnc文件,添加如下内容 registry "https://re ...

  6. node npm yarn安装使用错误(无法使用,显示报错,不是内部或外部命令,也不是可运行的程序或批处理文件。)

    node npm yarn安装后,无法正常使用,显示报错,不是内部或外部命令,也不是可运行的程序或批处理文件. 一.原因分析: 未正确安装 环境变量 配置不正确 注意: 通过npm install [ ...

  7. npm、cnpm、yarn安装指定版本的依赖包

    (1).npm 在npm install 后面加上   @以及版本号就行 npm install --save echarts@4.3.0 (2).cnpm 安装cnpm: npm install - ...

  8. 支付宝小程序编译打包时, 使用tnpm安装依赖可能导致上传时构建失败,请使用 \tnpm i --by=yarn\ 安装依赖

    1.最近做支付宝小程序,不太懂,因为用了mini-ali-ui,所以打包出现了Packed fail. ========== 远程调试构建失败 ========== build & pack ...

  9. yarn 安装进行时,显现错误 node_modules\gifsicle: Command failed.

    1. 错误详情如下 [4/5] Building fresh packages... [7/13] ⠠ jpegtran-bin [6/13] ⠠ gifsicle [8/13] ⠠ mozjpeg ...

  10. npm yarn 安装 vue

    关于yarn vue-cli 安装 1.安装node 前往node官网下载node 然后安装. 安装完成后 node -V 查看node版本 npm -v 查看npm版本 2.安装淘宝镜 npm co ...

最新文章

  1. 5月15日直播预告:英飞凌AURIX™培训—图像处理、实车演示等热点问题
  2. mybatis使用if判断参数是否为空
  3. 《Windows Phone 8 Development Internals》读书笔记-1-1-连载
  4. linux mint 19新功能,Linux Mint 19.3将在2019年12月正式发布,附新功能简介
  5. JavaScript 的 async/await 理解(4)
  6. JAVA关于实现科大讯飞语音合成功能
  7. 不良 : Cloudera Manager Agent 的日志目录位于可用空间小于 1.0 吉字节 的文件系统上。 /var/log/cloudera-scm-agent(可用:434.8 兆字节 (
  8. 你有没有玩命爱过一个姑娘
  9. 磁盘 I/O 和网络
  10. 2022最新仿绚丽彩虹音乐播放器完整源码
  11. 三星s4流量显示无服务器,三星s4有什么隐藏功能
  12. T100学习笔记 - Genero FGL
  13. error::make_unique is not a member of ‘std’
  14. 经纬度换算数值_经纬度转换-----度分秒以及经纬度和米
  15. 颜色编码 RGB、CMYK、 HEX
  16. C++Primer第五版——习题答案详解(六)
  17. 解决eclipse老是Refreshing external folders
  18. 小米8 twrp recovery_橙狐Recovery-一款另类功能丰富的第三方刷机工具-支持MIUI OTA
  19. BASE理论(基本可用策略+ 最终一致性实现)
  20. /opt/MegaRAID/MegaCli/MegaCli64

热门文章

  1. gc buffer busy release
  2. Webgoat学习笔记1
  3. spring ORM管理
  4. linux 卸载pppoe,列“State”不属于表 。
  5. 如何利用systrace分析Android App的死锁问题
  6. Android环境下的GDB调试
  7. cgroup: Control Group 分析 转载
  8. 服务器向客户端发送数据自动中断
  9. Java的GUI学习六(Action事件)
  10. php根据ajax传值跳转页面_vue中动态路由的跳转(name | path) 前进后退 replace...