(React-Native 学习之三) Yarn 和 npm 相关命令 以及区别

前言 :Yarn是Facebook提供的替代npm的工具,可以加速node模块的下载。React Native的命令行工具用于执行创建、初始化、更新项目、运行打包服务(packager)等任务。

一,需要了解的命令:

npm install === yarn —— install 安装是默认行为。
npm install taco --save === yarn add taco —— taco 包立即被保存到 package.json 中。
npm uninstall taco --save === yarn remove taco

在 npm 中,可以使用 npm config set save true 设置 —-save 为默认行为,但这对多数开发者而言并非显而易见的。在 yarn 中,在package.json 中添加(add)和移除(remove)等行为是默认的。
npm install taco --save-dev === yarn add taco --dev
npm update --save === yarn upgrade

update(更新) vs upgrade(升级), 赞!upgrade 才是实际做的事!版本号提升时,发生的正是upgrade!

注意: npm update --save 在版本 3.11 中似乎有点问题。
npm install taco@latest --save === yarn add taco
npm install taco --global === yarn global add taco —— 一如既往,请谨慎使用 global 标记。

二,已知悉的命令:

包和 npm registry 上是一样的。大致而言,Yarn 只是一个新的安装工具,npm 结构和 registry 还是一样的。

npm init === yarn init
npm link === yarn link
npm outdated === yarn outdated
npm publish === yarn publish
npm run === yarn run
npm cache clean === yarn cache clean
npm login === yarn login (logout 同理)
npm test === yarn test

三,Yarn 独有的命令:

我跳过了一些提醒我们不要使用的内容,如 yarn clean。

yarn licenses ls —— 允许你检查依赖的许可信息。
yarn licenses generate —— 自动创建依赖免责声明 license。
yarn why taco —— 检查为什么会安装 taco,详细列出依赖它的其他包(鸣谢 Olivier Combe)。
Emojis
速度
通过 yarn lockfile 自动实现 shrinkwrap 功能
以安全为中心的设计
Npm 独有的命令
npm xmas === NO EQUIVALENT
npm visnup === NO EQUIVALENT
笔者写作本文时, yarn 的 run 命令似乎出了点问题,应该会在 0.15.2 中修复。在这一点上, npm 好多了。感谢 Zachary 的研究!

四,npm 与 yarn 命令对比:

npm yarn
npm install yarn install
(N/A) yarn install –flat
(N/A) yarn install –har
(N/A) yarn install –no-lockfile
(N/A) yarn install –pure-lockfile
npm install [package] (N/A)
npm install –save [package] yarn add [package]
npm install –save-dev [package] yarn add [package] [–dev/-D]
(N/A) yarn add [package] [–peer/-P]
npm install –save-optional [package] yarn add [package] [–optional/-O]
npm install –save-exact [package] yarn add [package] [–exact/-E]
(N/A) yarn add [package] [–tilde/-T]
npm install –global [package] yarn global add [package]
npm rebuild yarn install –force
npm uninstall [package] (N/A)
npm uninstall –save [package] yarn remove [package]
npm uninstall –save-dev [package] yarn remove [package]
npm uninstall –save-optional [package] yarn remove [package]
npm cache clean yarn cache clean
rm -rf node_modules && npm install yarn upgrade


还有更多呢:

值得一看:

Yehuda Katz using Yarn —  http://yehudakatz.com/2016/10/11/im-excited-to-work-on-yarn-the-new-js-package-manager-2/
Facebook Announce —  https://code.facebook.com/posts/1840075619545360
News —  http://thenextweb.com/dd/2016/10/12/facebook-launches-yarn-a-faster-npm-client/
Benchmarking —  https://www.berriart.com/blog/2016/10/npm-yarn-benchmark/

进阶阅读:
https://yarnpkg.com/en/docs/
https://twitter.com/yarnpkg
https://github.com/yarnpkg/yarn
https://yarnpkg.com/en/docs/migrating-from-npm




转载和参考:

https://segmentfault.com/a/1190000007218841
https://segmentfault.com/a/1190000008632323

你可能感兴趣的:([ReactNative])