從某個時間點開始,我用 npm install -g [dependency] 在全域安裝套件後,卻無法執行該套件的 cli,ex:ts-node、ng(Angular cli)等等,雖然每次都有找到解法,就是去 export 目前 npm install -g 後存在的 path 位置,但每次用套件的 cli 都要重新 export 一次實在很麻煩,昨天終於意外找到解法了🤣
Table of Contents
1. 確定 npm prefix 位置
$ npm config get prefix
執行玩這行指令之後,會顯示出 npm prefix 的位置,我的是:/Users/jimmy2952/.npm-global,但當 terminal 執行 cli 的時候並不會到這個資料夾抓 bin,因此每次執行 cli 前都要先 export PATH=/Users/jimmy2952/.npm-global/bin:$PATH,真正的解法是 set npm prefix 到正確的位置:
2. set npm prefix
$ npm config set prefix /usr/local
如此一來之後用 npm 在全域安裝套件,該套件的 cli 就會被放到 /usr/local/bin 裡,也就可以直接在 terminal 執行套件的 cli。
重新 set prefix 後,也要記得重新安裝要在全域使用的套件。
如果覺得我的文章有幫助的話,歡迎幫我的粉專按讚哦~謝謝你!