Node 模組有 755 權限,我應該設定什麼權限以便 npm 不需要 sudo?

Node 模組有 755 權限,我應該設定什麼權限以便 npm 不需要 sudo?

npm我正在使用一個自動運行的框架webpack,該目錄/usr/lib/node_modules有 755 權限,需要npm運行sudo.我使用的框架不允許添加sudo到命令。

現在我需要以全域形式(例如npm install webpack -g)安裝 npm 套件而不使用sudo.

哪些權限可以使用/usr/lib/node_modules?如果我設定 777 權限就可以且安全嗎?

謝謝你!

答案1

你不需要改變允許npm能夠在沒有sudo.要設定npm運行,無需sudo執行以下步驟:

選項1:

  1. 取得npm目錄的路徑:

    npm config get prefix
    
  2. 如果你有/usr 轉到選項 2否則將 npm 目錄的擁有者變更為您的:

     sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
    

選項2:

  1. 為全域安裝建立目錄:

    mkdir ~/.npm-global
    
  2. 配置以使用該目錄:

    npm config set prefix '~/.npm-global'
    
  3. 開啟或建立~/.profile並新增以下內容:

    export PATH=~/.npm-global/bin:$PATH
    
  4. 將此也添加到您的~/.bashrc文件中(可選):

    export PATH=/home/username/.npm-global/bin:$PATH
    export NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript:/home/username/.npm-global/lib/node_modules
    
  5. 刷新檔案:

    source ~/.bashrc
    
  6. 通過運行測試:

    npm install -g jshint
    

來源:

https://docs.npmjs.com/getting-started/fixing-npm-permissions

http://www.competa.com/blog/how-to-run-npm-without-sudo/

相關內容