例如,當我跑步時,gulp我不必做npx gulp。
我可以省略npx并運行gulp
我該如何為我自己的包裹做這件事?
我已經添加mycommand到 npm binconfig 包中,但我仍然總是需要做npx mycommand它才能作業。
uj5u.com熱心網友回復:
這取決于您的作業系統。在基于 UNIX 的作業系統(即 Linux 或 Mac)上,您可以使用以下alias命令:
$ alias gulp="npx gulp"
對于終端會話的其余部分,您可以運行:
$ gulp
跑npx gulp。但是,無論何時重新啟動終端程式,您都會丟失別名。
要使別名永久生效,您需要將alias命令添加到適合您作業系統的啟動檔案(例如.bashrc,.profile等)。只需復制/粘貼您之前使用的確切命令,在該檔案的末尾,保存并重新啟動您的終端。您將永久擁有別名。
Windows 中的別名也是可能的,但有點棘手;請參閱Windows 命令提示符中的別名。
uj5u.com熱心網友回復:
您不必使用npx gulpforgulp因為它是全域安裝的
所以,有gulp.cmd,gulp.ps1并gulp從npx gulpPATH 中的某處開始,因此您可以從那里運行它們
這個答案很省力,請隨意編輯
uj5u.com熱心網友回復:
如果你全域安裝 gulp:
npm i -g gulp
你將能夠運行gulp
uj5u.com熱心網友回復:
我會避免建議全域安裝的答案 ( npm install -g)。全球安裝保證每個從事專案作業的人都有自己獨特的工具集,這也是公司最終擁有關于“如何讓專案在本地作業”的巨大 wiki 頁面的原因。
你提到了“bin config”,但也許你誤解了那個。這不是為了指定您的應用程式將使用的命令。如果您正在制作一個 cli 應用程式,您可以在 package.json中的 bin 部分指定專案匯出的命令。例如,gulp 匯出如下gulp命令:
"bin": {
"gulp": "./bin/gulp.js"
},
相反,您可以將應用程式所需的依賴項添加到devDependencies. 這確保了使用該專案的每個人都將獲得相同版本的所有工具,例如gulp,tsc
使用npx是一個更好的解決方案,因為您可以在其中添加專案需要的所有內容devDependencies,npx并將使用該版本。對于常見的命令列工具,@machineghost 建議的別名是更好的方法,但要對其進行一些擴展:
- 有時,命令的名稱與包的名稱不同。在這些情況下,別名可以使用:
alias tsc='npx --package=typescript tsc'
一般情況下,運行時npx,如果當前專案中沒有找到版本,會提示安裝。這通常是一個很好的保護措施,因為它會提醒您將其添加到devDependencies專案的。但是,如果您真的希望它像全域安裝一樣“正常作業”,您可以添加“是”標志:
alias command=`npx -y gulp`
這將使用當前專案中指定的版本(如果存在),但如果不存在則直接安裝并運行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/537174.html
