从 npm 迁移

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

内容简介:对多数用户来说,从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 迁移》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Web Data Mining

Web Data Mining

Bing Liu / Springer / 2006-12-28 / USD 59.95

Web mining aims to discover useful information and knowledge from the Web hyperlink structure, page contents, and usage data. Although Web mining uses many conventional data mining techniques, it is n......一起来看看 《Web Data Mining》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试