从 npm 迁移

栏目: Node.js · 发布时间: 5年前

内容简介:对多数用户来说,从npm迁移的过程应该非常简单。Yarn和npm使用相同的如果你打算在现有项目中尝试Yarn,只需执行:Yarn将通过自己的解析算法来重新组织

对多数用户来说,从npm迁移的过程应该非常简单。Yarn和npm使用相同的 package.json 格式,而且Yarn可以从npm安装依赖包。

如果你打算在现有项目中尝试Yarn,只需执行:

yarn

Yarn将通过自己的解析算法来重新组织 node_modules 目录,这个算法和 node.js 模块解析算法 是兼容的。

如果出错,请查阅issue列表,或者向 Yarn issue tracker 报告。

执行 yarn 命令或者 yarn add <package> 命令后,Yarn都会在项目根目录下生成 yarn.lock 文件。 你无需理解此文件的具体内容,但请记得将其提交到代码管理系统。 当其他开发者也从 npm 迁移到Yarn时, yarn.lock 文件的存在会确保他们得到的依赖包与你的完全相同。

多数情况下,第一次执行 yarn 或者 yarn add 都会成功。 有些情况下, package.json 文件里的信息不足以找出冗余依赖,Yarn安装依赖时采用的确定性算法就会导致依赖冲突。 这种情况常常出现在那些由于 npm install 执行出现问题, node_modules 文件夹被多次删除,并重新安装的大型项目里。 如果发生这种情况,请在迁移到Yarn前尝试使用 npm 命令来让依赖的版本更明确。

项目的其他开发者可以继续使用 npm ,所以无需让每个人同时迁移。 使用 yarn 会让开发者得到完全相同的配置,而使用 npm 却未必,但这是 npm 的预期行为。

如果你之后发现Yarn并不适合自己,你无需任何特别修改就能迁移回 npm 。 如果项目里所有人都不再使用Yarn,就可以删除 yarn.lock 文件(但不是必须)。

如果项目目前使用了 npm-shrinkwrap.json 文件,请小心你可能会得到一组不同的依赖。 Yarn不支持npm shrinkwrap文件,因为文件里没有足够的信息来支撑Yarn的确定性算法。 所以如果项目正在使用 shrinkwrap 文件,那么团队成员同时迁移到Yarn可能会更容易一点。 只需删除现有的 npm-shrinkwrap.json 文件,并提交新创建的 yarn.lock 文件。

CLI 命令比较

npm (v5) Yarn
npm install yarn install
(不适用) yarn install --flat
(不适用) yarn install --har
npm install --no-package-lock yarn install --no-lockfile
(不适用) yarn install --pure-lockfile
npm install [package] yarn add [package]
npm install [package] --save-dev yarn add [package] --dev
(不适用) yarn add [package] --peer
npm install [package] --save-optional yarn add [package] --optional
npm install [package] --save-exact yarn add [package] --exact
(不适用) yarn add [package] --tilde
npm install [package] --global yarn global add [package]
npm update --global yarn global upgrade
npm rebuild yarn install --force
npm uninstall [package] yarn remove [package]
npm cache clean yarn cache clean [package]
rm -rf node_modules && npm install yarn upgrade

以上所述就是小编给大家介绍的《从 npm 迁移》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入浅出强化学习:原理入门

深入浅出强化学习:原理入门

郭宪、方勇纯 / 电子工业出版社 / 2018-1 / 79

《深入浅出强化学习:原理入门》用通俗易懂的语言深入浅出地介绍了强化学习的基本原理,覆盖了传统的强化学习基本方法和当前炙手可热的深度强化学习方法。开篇从最基本的马尔科夫决策过程入手,将强化学习问题纳入到严谨的数学框架中,接着阐述了解决此类问题最基本的方法——动态规划方法,并从中总结出解决强化学习问题的基本思路:交互迭代策略评估和策略改善。基于这个思路,分别介绍了基于值函数的强化学习方法和基于直接策略......一起来看看 《深入浅出强化学习:原理入门》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具