We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 ,Yarn是为了弥补npm的一些缺陷而出现的。”这句话让我想起了使用npm时的坑了:
Yarn
npm
npm install
yarn
package.json
"5.0.3", "~5.0.3", "^5.0.3"
“5.0.3”表示安装指定的5.0.3版本,“~5.0.3”表示安装5.0.X中最新的版本,“^5.0.3”表示安装5.X.X中最新的版本。这就麻烦了,常常会出现同一个项目,有的同事是OK的,有的同事会由于安装的版本不一致出现bug。
“5.0.3”
5.0.3
“~5.0.3”
5.0.X
“^5.0.3”
5.X.X中
package
为了防止拉取到不同的版本,Yarn有一个锁定文件 (lock file) 记录了被确切安装上的模块的版本号。每次只要新增了一个模块,Yarn 就会创建(或更新)yarn.lock这个文件。这么做就保证了,每一次拉取同一个项目依赖时,使用的都是一样的模块版本。
yarn.lock
npm5.0默认新增了类似yarn.lock的package-lock.json。
npm5.0
package-lock.json
npm的输出信息比较冗长。在执行npm install的时候,命令行里会不断地打印出所有被安装上的依赖。相比之下,Yarn简洁太多:默认情况下,结合了 emoji直观且直接地打印出必要的信息,也提供了一些命令供开发者查询额外的安装信息。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Yarn是什么
Yarn
是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 ,Yarn
是为了弥补npm
的一些缺陷而出现的。”这句话让我想起了使用npm时的坑了:npm install
的时候相比yarn
会慢好多。package.json
文件中版本号的特点,下面三个版本号在安装的时候代表不同的含义。“5.0.3”
表示安装指定的5.0.3
版本,“~5.0.3”
表示安装5.0.X
中最新的版本,“^5.0.3”
表示安装5.X.X中
最新的版本。这就麻烦了,常常会出现同一个项目,有的同事是OK的,有的同事会由于安装的版本不一致出现bug。Yarn的优点
速度快
npm
还是Yarn
在执行包的安装时,都会执行一系列任务。npm
是按照队列执行每个package
,也就是说必须要等到当前
package
安装完成之后,才能继续后面的安装。而Yarn
是同步执行所有任务,提高了性能。Yarn
再次安装时之间从缓存中获取,就不用像npm
那样再从网络下载了。安装版本统一
为了防止拉取到不同的版本,
Yarn
有一个锁定文件 (lock file) 记录了被确切安装上的模块的版本号。每次只要新增了一个模块,Yarn
就会创建(或更新)yarn.lock
这个文件。这么做就保证了,每一次拉取同一个项目依赖时,使用的都是一样的模块版本。npm5.0
默认新增了类似yarn.lock
的package-lock.json
。更简洁的输出
npm
的输出信息比较冗长。在执行npm install
的时候,命令行里会不断地打印出所有被安装上的依赖。相比之下,Yarn
简洁太多:默认情况下,结合了 emoji直观且直接地打印出必要的信息,也提供了一些命令供开发者查询额外的安装信息。参考文献
The text was updated successfully, but these errors were encountered: