【前端】彻底搞懂 npm、npx、yarn

彻底搞清楚 npm、npx、yarn 的区别,只要记住下面两条:

  • npm 只负责安装 package,不负责执行,yarn 也是,但是比 npm 好用。
  • npx 不负责安装,只负责执行 package。

 

首先举个例子。

npm 安装某个 package 的命令如下:

npm install some-package

install​ 后面如果没有跟 -g 的话只能将依赖包安装在当前目录下,如同上面这条命令。

也就是说 some-package 的路径无法在环境变量 $PATH 中体现,因此也就无法在终端直接被执行。

按照“传统工艺”,如果硬要执行 some-package,只能把路径拼完整了才可以。

$ ./node_modules/.bin/some-package

但是这么做显然非常麻烦,手速跟不上思维,影响生产效率。

所以,“一般做法”是借助 npm 稍作简化,在 package.json 的 scripts 中增加一条:

{
  "name": "whatever",
  "version": "1.0.0",
  "scripts": {
    "some-package": "some-package"
  }
}

然后像下面这样执行:

npm run some-package

如此一来可以不用拼路径,但是修改 package.json 本身也是一件麻烦事。

于是 npx 闪亮登场。

有了它,npm install 之后的 package 只需要一行命令就可以执行,再也不需要拼路径,也无需修改 package.json 文件了。

npx some-package

简单总结一下:

  • npm 是 Package Manager,负责管理包
  • npx 是 Package eXecutor,负责执行包

 

那 yarn 又是什么鬼呢?

很简单,yarn 是一个用于取代 npm 的包管理工具,它的优势在于:

  • 版本稳定(借助 yarn.lock,类似 cocoapods 的 Podfile.lock)
  • 多线程下载 

总之记住一句话:yarn 比 npm 好用

 

参考资料:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值