先找到npm的安裝路徑,輸入which npm
可以得到/usr/local/bin/npm,這個是普通用戶的bin目錄,而sudo執行的是/usr/bin目錄,這是root用戶的目錄,所以使用sudo命令是識別不到這個命令的,可以執行下面方法來處理這個問題:
sudo ln -s /usr/local/bin/node /usr/bin/node sudo ln -s /usr/local/lib/node /usr/lib/node sudo ln -s /usr/local/bin/npm /usr/bin/npm sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
同理,如果是cnpm,那么如下:
sudo ln -s /usr/local/bin/cnpm /usr/bin/cnpm
如果其他程序也是這樣的問題,只要將xxx替換成可執行程序即可:
sudo ln -s /usr/local/bin/xxx /usr/bin/xxx
ln命令用來為文件創件連接,連接類型分為硬連接和符號連接兩種,默認的連接類型是硬連接。如果要創建符號連接必須使用"-s"選項。
注意: 符號鏈接文件不是一個獨立的文件,它的許多屬性依賴於源文件,所以給符號鏈接文件設置存取權限是沒有意義的。