
我為特定使用者安裝了所有 npm 套件(即)而不是 root (/home/otheruser/*)
我正在使用 monit 查看是否檢查程式正在運行。在本例中為 pm2,位於
/home/otheruser/.nvm/versions/node/v5.2.0/bin/pm2
即使我嘗試使用終端機中其他使用者的完整路徑(即使是 root 使用者),我也無法使用 pm2。它沒有給出任何輸出,或沒有發生任何事情,如下所示。
root@server:~$ /home/otheruser/.nvm/versions/node/v5.2.0/bin/pm2 list
每當我與不同的用戶運行節點模組時,例如
root@server:~$ /home/otheruser/.nvm/versions/node/v5.2.0/bin/forever -v
root@server:~$ /home/otheruser/.nvm/versions/node/v5.2.0/bin/db-migrate -v
root@server:~$ /home/otheruser/.nvm/versions/node/v5.2.0/bin/pm2 -v
我在系統日誌中得到以下內容
node[5791]: No AX.25 port data configured
node[5791]: No AX.25 port data configured
node[5791]: No AX.25 port data configured
如何讓其他使用者發揮作用
答案1
非揮發性不是一個真正的程序。它是一個 bash 函數,會載入到使用者的 .profile、.bashrc 或...中,因此 sudo 不會像大多數其他程式一樣自動從 $PATH 中取得它。
您可以建立一個符號鏈接,然後嘗試訪問它
sudo ln -s“/home/otheruser/.nvm/versions/node/v5.2.0/bin/pm2”“/usr/local/bin”
答案2
您必須在嘗試執行 pm2 命令的登入使用者(root)的環境變數中新增以下內容,然後它才能運作
NVM_DIR =“/home/otheruser/.nvm”
NVM_BIN =“/home/otheruser/.nvm/versions/node/v15.5.1/bin”
PATH =“/home/otheruser/.nvm/versions/node/v10.15.3 /垃圾桶”