ubuntu bower命令,错误:EACCES,权限被拒绝'.../insight-bower.json'

bob*_*lon 6 ubuntu bower

我无法以我的用户身份运行bower命令,这使我在运行bower时出现以下错误:

错误:EACCES,权限被拒绝'/home/***/.config/configstore/insight-bower.json'您无权访问此文件.

at Object.fs.openSync (fs.js:432:18)
at Object.fs.readFileSync (fs.js:286:15)
at Object.create.all.get (/usr/local/lib/node_modules/bower/node_modules/insight/node_modules/configstore/index.js:27:26)
at Object.Configstore (/usr/local/lib/node_modules/bower/node_modules/insight/node_modules/configstore/index.js:20:44)
at new Insight (/usr/local/lib/node_modules/bower/node_modules/insight/lib/index.js:37:34)
at ensureInsight (/usr/local/lib/node_modules/bower/lib/util/analytics.js:25:19)
at Object.setup (/usr/local/lib/node_modules/bower/lib/util/analytics.js:41:9)
at Object.<anonymous> (/usr/local/lib/node_modules/bower/bin/bower:72:11)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
Run Code Online (Sandbox Code Playgroud)

但是当我以root身份运行bower时,它运行正常.

怎么了?它以前工作正常,但由于我做了以下命令,它出错了.

sudo bower cache clean --allow-root
Run Code Online (Sandbox Code Playgroud)

bob*_*lon 13

问题是文件的所有者.因为文件'/home/***/.config/configstore/insight-bower.json'的所有者是root用户,所以我只能使用sudo和--allow-root运行bower.

因此,通过将所有者更改为自己可以轻松解决问题,如下所示:

sudo chown bobsilon .config/configstore/insight-bower.json
Run Code Online (Sandbox Code Playgroud)