我在npm文檔上閱讀過,您不能使用本地安裝軟件包的bin腳本。如何使bin腳本可用於本地安裝的npm軟件包
那麼,如何在本地安裝gulp
作爲bin命令啓動? 什麼使它在本地安裝時可用,我回顧了gulp
package.json
和bin腳本,我沒有找到任何答案。
我在npm文檔上閱讀過,您不能使用本地安裝軟件包的bin腳本。如何使bin腳本可用於本地安裝的npm軟件包
那麼,如何在本地安裝gulp
作爲bin命令啓動? 什麼使它在本地安裝時可用,我回顧了gulp
package.json
和bin腳本,我沒有找到任何答案。
要使用此,在你的package.json這是命令名稱的地圖到本地文件名提供一個倉場。在安裝時,npm會將該文件符號鏈接到用於全局安裝的前綴/ bin中,或者將./node_modules/.bin/用於本地安裝。
所以,你的本地安裝的軟件包中的二進制文件是可執行這樣
./bin/node_modules/.bin/the_binary
這是,如果你想直接啓動二進制文件。或者,如在the scripts part of the documentation:
指定除了外殼的預先存在的PATH,NPM運行增加了node_modules/.bin文件提供給腳本的路徑。
因此,你可以簡單的寫像
scripts: {
"build": "the_binary"
}
包裝腳本,並打電話給你這樣的腳本
npm run build
獎金
由於[email protected]的.0,執行scr時可以使用自定義參數IPTS。特殊選項 - 由getopt用於分隔選項的結尾。故宮將通過之後的所有參數的 - 直接到你的腳本:
npm run test -- --grep="pattern"
因此,我無法在本地安裝一個軟件包(例如gulp),並且在沒有全局安裝的情況下運行bin命令? 原因我已經在本地安裝了Gulp,我可以運行'gulp default' bin命令,而不必在全局安裝'Gulp'。 這個問題可能是在我的bash_profile中...我不知道爲什麼我可以運行Gulp,但沒有我的自定義bin命令沒有全局安裝和您鏈接的文檔似乎說這是完全正常的。 – Jordan
不,你不應該這樣做。您可以運行'npm list -g'來查看全局安裝了哪些軟件包,以及'哪個gulp'來查看二進制文件所在的位置。 – Cyril
我確認,問題出自我的bash_profile ...非常感謝您的時間! – Jordan
請註明了一個問題,回答了您的問題就解決了。否則,讓我們知道什麼還沒有工作。 – Cyril