V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
FrankFang128
V2EX  ›  Node.js

npx 是什么

  •  1
     
  •   FrankFang128 · 2017-07-12 15:23:37 +08:00 · 8947 次点击
    这是一个创建于 2690 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近我在更新 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
    

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

    第 1 条附言  ·  2017-07-12 16:01:03 +08:00
    这个节点不上首页?
    6 条回复    2018-02-27 12:52:43 +08:00
    codermagefox
        1
    codermagefox  
       2017-07-12 20:11:29 +08:00
    顶一下 XD
    zhlssg
        2
    zhlssg  
       2017-07-12 23:17:46 +08:00 via iPhone
    跟知乎上是同一个人?
    LioMore
        3
    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
        4
    sunjourney  
       2017-07-15 17:48:59 +08:00
    @zhlssg #2 看 ID 就知道是了
    TongjieYang
        5
    TongjieYang  
       2018-02-26 03:57:14 +08:00
    楼主,我用的时候,一直报:npx: command not found. (我这边 npx 已经全局安装),你知道是怎么回事吗
    FrankFang128
        6
    FrankFang128  
    OP
       2018-02-27 12:52:43 +08:00
    重装 npm,看下 PATH 环境变量
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2626 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:09 · PVG 13:09 · LAX 21:09 · JFK 00:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.