2016-05-12 96 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. 安装的发电机

工作就像一个魅力,哟现在没有问题。