npx 是什么

2017-07-12 15:23:37 +08:00
 FrankFang128

最近我在更新 npm 5.2.0 的时候发现会买一送一,自动安装了 npx。

npx 是什么

根据 zkat/npx 的描述,npx 会帮你执行依赖包里的二进制文件。

举例来说,之前我们可能会写这样的命令:

npm i -D webpack
./node_modules/.bin/webpack -v

如果你对 bash 比较熟,可能会写成这样

npm i -D webpack
`npm bin`/webpack -v

有了 npx,你只需要这样

npm i -D webpack
npx webpack -v

也就是说 npx 会自动查找当前依赖包中的可执行文件,如果找不到,就会去 PATH 里找。如果依然找不到,就会帮你安装!

npx 甚至支持运行远程仓库的可执行文件,如

$ npx github:piuccio/cowsay hello
npx: 1 安装成功,用时 1.663 秒
 _______
< hello >
 -------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

再比如 npx http-server 可以一句话帮你开启一个静态服务器!(第一次运行会稍微慢一些)

$ npx http-server
npx: 23 安装成功,用时 48.633 秒
Starting up http-server, serving ./
Available on:
  http://127.0.0.1:8080
  http://192.168.5.14:8080
Hit CTRL-C to stop the server

你也试试吧~(并没有什么新东西)

8973 次点击
所在节点    Node.js
6 条回复
codermagefox
2017-07-12 20:11:29 +08:00
顶一下 XD
zhlssg
2017-07-12 23:17:46 +08:00
跟知乎上是同一个人?
LioMore
2017-07-12 23:40:00 +08:00
我推荐大家阅读这篇
[Introducing npx: an npm package runner]( https://medium.com/@maybekatz/introducing-npx-an-npm-package-runner-55f7d4bd282b)
sunjourney
2017-07-15 17:48:59 +08:00
@zhlssg #2 看 ID 就知道是了
TongjieYang
2018-02-26 03:57:14 +08:00
楼主,我用的时候,一直报:npx: command not found. (我这边 npx 已经全局安装),你知道是怎么回事吗
FrankFang128
2018-02-27 12:52:43 +08:00
重装 npm,看下 PATH 环境变量

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/374807

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX