错误在debian jessie上安装yeoman

时间:2016-05-12 18:54:55

标签: node.js yeoman yeoman-generator keystonejs

我正在使用全新安装的Debian 8 Jessie。我安装了Nginx,Nodejs 4x,NPM和MongoDB。我试图用npm install -g yo安装Yeoman。我按Enter键输出yo-complete到STDOUT。然后我跑了yo-complete。接下来我安装了npm install -g generator-keystone。当我尝试在项目中使用生成器yo keystone时,我收到以下错误消息:

/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上了。我不知道应该从哪里开始尝试解决这个问题。

1 个答案:

答案 0 :(得分:2)

事实证明,我的问题是以root身份登录。

我做了以下步骤:

  1. apt-get autoremove nodejs
  2. adduser dev 在提示
  3. 中填写用户详细信息
  4. visudo并取消注释允许sudo组以root身份执行命令的行。
  5. usermod -aG sudo dev将用户添加到sudo群组
  6. su - dev切换到开发用户
  7. sudo apt install nodejs
  8. sudo npm install -g npm更新npm
  9. sudo npm install -g yo重新安装你好
  10. 安装您的发电机
  11. 工作就像一个魅力,哟现在没有问题。