yarn与npm命令

436 阅读3分钟

npm 与 yarn 常用命令对比

有所区别的命令

NpmYarn功能描述
npm install(npm i)yarn install(yarn)根据 package.json 安装所有依赖
npm i –save [package]yarn add [package]添加依赖包
npm i –save-dev [package]yarn add [package] –dev添加依赖包至 devDependencies
npm i -g [package]yarn global add [package]进行全局安装依赖包
npm update –saveyarn upgrade [package]升级依赖包
npm uninstall [package]yarn remove [package]移除依赖包

相同操作的命令

NpmYarn功能描述
npm runyarn run运行 package.json 中预定义的脚本
npm config listyarn config list查看配置信息
npm config set registry 仓库地址yarn config set registry 仓库地址更换仓库地址
npm inityarn init互动式创建/更新 package.json 文件
npm listyarn list查看当前目录下已安装的node包
npm loginyarn login保存你的用户名、邮箱
npm logoutyarn logout删除你的用户名、邮箱
npm outdatedyarn outdated检查过时的依赖包
npm linkyarn link开发时链接依赖包,以便在其他项目中使用
npm unlinkyarn unlink取消链接依赖包
npm publishyarn publish将包发布到 npm
npm testyarn test测试 = yarn run test
npm binyarn bin显示 bin 文件所在的安装目录
yarn infoyarn info显示一个包的信息

对于以上还须对于,还须做如下补充性说明:

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

  • 对于要添加或升级的包,npm 与 yarn 都可以指定具体的版本,或者 Tag;如:

    yarn add [package]@[version]
    yarn add [package]@[tag]

  • 在国内,使用 npm,最好还是替换成淘宝的镜像,如此网络影响减小到最低,这样安装依赖包的速度,可以得到蛮大的改善:

    npm config set registry registry.npm.taobao.org
    yarn config set registry registry.npm.taobao.org

    当然也可以设置别名 cnpm

    1
    
    alias cnpm="npm --registry=http://registry.cnpmjs.org --cache=$HOME/.npm/.cache/cnpm"
    

Yarn 独有的命令

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

yarn licenses ls# 允许您检查您的依赖的许可证
yarn licenses generate-disclaimer 
# 自动创建您的许可证免责声明
yarn why taco 
# 确定为什么安装了 taco 检查为什么会安装 taco,详细列出依赖它的其他包(感谢 Olivier Combe).
Emojis ⬆️
速度 🏃⌁
通过 yarn lockfile 自动实现 shrinkwrap 功能
以安全为中心的设计
yarn upgrade-interactive
# 允许您自己选择升级指定的包

selectively upgrade specific packages

关于 package-lock.json 和 yarn.lock

关于 yarn.lock

有时候一个项目周期很长,在不断开发的同时,而依赖的库也会有很大改变;有时候你可能只想运行 npm i 更新没有下载的插件,却不想偶尔会将依赖的一些其他插件更到最新,导致各种奇葩问题;package-lock.jsonyarn.lock 就是为解决这种问题而设定的存在。

相关链接:

juejin.cn/post/684490…

(译)NPM vs Yarn 备忘手册

Npm vs Yarn 之备忘详单