先手動安裝
$ npm install-g npx
npx 的原理很簡單,就是運行的時候,會到node_modules/.bin路徑和環(huán)境變量$PATH里面,檢查命令是否存在。
由于 npx 會檢查環(huán)境變量$PATH,所以系統(tǒng)命令也可以調(diào)用。
除了調(diào)用項目內(nèi)部模塊,npx 還能避免全局安裝的模塊。比如,create-react-app這個模塊是全局安裝,npx 可以運行它,而且不進行全局安裝。
$ npx create-react-app
下載全局模塊時,npx 允許指定版本。
$ npx uglify-js@3.1.0main.js-o./dist/main.js
如果想讓 npx 強制使用本地模塊,不下載遠程模塊,可以使用--no-install參數(shù)。如果本地不存在該模塊,就會報錯。
$ npx--no-install http-server
反過來,如果忽略本地的同名模塊,強制安裝使用遠程模塊,可以使用--ignore-existing參數(shù)。比如,本地已經(jīng)全局安裝了create-react-app,但還是想使用遠程模塊,就用這個參數(shù)。
$ npx--ignore-existing create-react-app my-react-app
可以指定某個版本的 Node 運行腳本
$ npx node@0.12.8-v
-p參數(shù)用于指定 npx 所要安裝的模塊,所以上一節(jié)的命令可以寫成下面這樣。
$ npx-p node@0.12.8node-v
上面命令先指定安裝node@0.12.8,然后再執(zhí)行node -v命令。
原文http://www.ruanyifeng.com/blog/2019/02/npx.html