node.js - centos7 root用户,用npm安装yo,yo是不是不能用?

【字号: 日期:2022-09-06浏览:54作者:雯心

问题描述

本人在centos下,用root用户安装了node和npm。然后安装yo,

npm install -g yoYeoman DoctorRunning sanity checks on your system✔ Global configuration file is valid✔ Node.js version✔ No .bowerrc file in home directory✔ No .yo-rc.json file in home directory✔ npm version✔ NODE_PATH matches the npm rootEverything looks all right!+ yo@2.0.0

然而使用yo时,却报错。

[root@localhost address-book]# yo -v/root/.node/lib/node_modules/yo/node_modules/insight/node_modules/configstore/index.js:53throw 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:641:18) at Object.fs.readFileSync (fs.js:509:33) at Object.get (/root/.node/lib/node_modules/yo/node_modules/insight/node_modules/configstore/index.js:34:26) at Object.Configstore.get (/root/.node/lib/node_modules/yo/node_modules/insight/node_modules/configstore/index.js:81:13) at Insight.get (/root/.node/lib/node_modules/yo/node_modules/insight/lib/index.js:48:22) at Object.<anonymous> (/root/.node/lib/node_modules/yo/lib/cli.js:194:47) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32)

google也没有找到答案。。难道是不能用root用户安装这些?

问题解答

回答1:

You don’t have access to this file.看样子是没权限访问这个文件

看一下这个文件权限。

ls -al /root/.config/configstore/insight-yo.json

尝试下使用下面的命令重新安装下:

npm install --global yo --allow-root回答2:

我在Ubuntu下, 和楼主报一样的错。 有大神 ,来解答下。 改访问权限的办法,走不通。

回答3:

参见GitHub Issue:

https://github.com/yeoman/yo/...

这里面提到一个可行的方法:用NVM处理。

另外,不建议使用root用户进行npm包的安装操作,经常会因为是root用户而出现各种无法预测的问题。

相关文章: