2016-05-12 145 views
0

我正在使用Debian 8 Jessie的全新安裝。我安裝了Nginx,Nodejs 4x,NPM和MongoDB。我試圖用npm install -g yo安裝Yeoman。我按回車鍵輸出完整的標準輸出。然後我跑yo-complete。接下來我安裝了npm install -g generator-keystone。當我嘗試使用發電機yo keystone在一個項目中,我得到以下錯誤信息:在debian上安裝yeoman時出錯jessie

/usr/lib/node_modules/yo/node_modules/configstore/index.js:53 
           throw err; 
           ^

Error: EACCES: permission denied, open '/root/.config/configstore/insight-yo.json' 
You don't have access to this file. 

    at Error (native) 
    at Object.fs.openSync (fs.js:549:18) 
    at Object.fs.readFileSync (fs.js:397:15) 
    at Object.create.all.get (/usr/lib/node_modules/yo/node_modules/configstore/index.js:34:26) 
    at Object.Configstore (/usr/lib/node_modules/yo/node_modules/configstore/index.js:27:44) 
    at new Insight (/usr/lib/node_modules/yo/node_modules/insight/lib/index.js:37:34) 
    at Object.<anonymous> (/usr/lib/node_modules/yo/lib/cli.js:163:11) 
    at Module._compile (module.js:409:26) 
    at Object.Module._extensions..js (module.js:416:10) 
    at Module.load (module.js:343:32) 

僅供參考,我以root身份登錄,但我明白的問題是,NPM運行作爲沒有用戶/組。我從來沒有在Ubuntu上遇到過這個問題,但無論出於何種原因,我現在都在Jessie身上。我無法從哪裏開始嘗試解決此問題。

+0

解決這個問題的一種方法是安裝nvm並使用它來管理您的Node安裝 - 這是我個人建議的。這意味着你不需要以root身份安裝任何東西。 –

+0

對不起?我使用nvm,並且根據我的經驗,這比系統範圍內的安裝要少很多。 –

回答

1

事實證明,我的問題是以root身份登錄。

我沒有以下步驟:

  1. apt-get autoremove nodejs
  2. adduser dev填寫用戶細節提示
  3. visudo並取消線允許須藤組執行命令作爲根。
  4. usermod -aG sudo dev將用戶添加到須藤組
  5. su - dev切換到dev的用戶
  6. sudo apt install nodejs
  7. sudo npm install -g npm更新NPM
  8. sudo npm install -g yo重裝喲
  9. 安裝的發電機

工作就像一個魅力,喲現在沒有問題。