Roy*_*mir 8 javascript node.js npm yarnpkg
我是新手的纱线,在阅读本文时,有些东西引起了我的注意:
确定性:
无论安装顺序如何,相同的依赖关系将以相同的方式安装在每台机器上.通过使用锁定文件和确定性且可靠的安装算法,Yarn解决了 "在我的机器上工作"的版本控制和非确定性问题
题:
我不明白:当我写npm install它时,查看package.json并安装确切的版本,每个版本也根据自己的安装依赖package.json等等等等
那么有什么不同(关于这个方面)
将会非常感谢" 在没有纱线的情况下npm可能出错的情况"的情景示例
小智 2
package.json 文件通常包含依赖项所需的最低版本。例如,您可以使用“^1.0.0”,它与版本 1.0.0 或任何次要版本匹配。
\n\n{\n  "name": "my_package",\n  "version": "1.0.0",\n  "dependencies": {\n    "my_dep": "^1.0.0"\n  }\n}
当你运行 npm install 时,它可以安装“my_dep”的 1.0.0、1.1.0、1.2.0 等版本,因为所有这些版本都满足 package.json 的要求。您最终可能会在本地计算机上获得版本 1.0.0,在测试环境上获得版本 1.1.0。
\n\nYarn 自动创建一个yarn.lock 文件以确保您始终安装相同版本的“my_dep”。它会生成如下内容:
\n\n# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n# yarn lockfile v1\nmy_dep@^1.0.0:    \nversion "1.1.0"\nresolved "https://registry.npmjs.org/my_dep/-/my_dep-1.1.0.tgz#a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0"\n即使有新版本 (1.2.0) 可用,Yarn 也会使用此文件将“my_dep”解析为版本 1.1.0。
\n\n\n\n\n所有yarn.lock 文件都应签入源代码管理(例如git 或mercurial)。这允许 Yarn 在所有计算机上安装完全相同的依赖关系树,无论是您的同事\xe2\x80\x99s 笔记本电脑还是 CI 服务器。
\n
参考:
\n\nhttps://docs.npmjs.com/getting-started/using-a-package.json
\n\nhttps://docs.npmjs.com/getting-started/semantic-versioning
\n\nhttps://yarnpkg.com/en/docs/yarn-lock
\n| 归档时间: | 
 | 
| 查看次数: | 570 次 | 
| 最近记录: |