npm install 报错,提示
gyp ERR! stack Error: EACCES: permission denied
,下面是具体情况
> dtrace-provider@0.8.7 install /www/server/yapi/vendors/node_modules/dtrace-provider
> node-gyp rebuild || node suppress-error.js
gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/10.15.3"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/www/server/yapi/vendors/node_modules/dtrace-provider/.node-gyp"
gyp WARN install got an error, rolling back install
gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/www/server/yapi/vendors/node_modules/dtrace-provider/.node-gyp'
gyp ERR! System Linux 3.10.0-514.26.2.el7.x86_64
gyp ERR! command "/usr/local/src/node-v10.15.3-linux-x64/bin/node" "/usr/local/src/node-v10.15.3-linux-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /www/server/yapi/vendors/node_modules/dtrace-provider
gyp ERR! node -v v10.15.3
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
> core-js@2.6.9 postinstall /www/server/yapi/vendors/node_modules/core-js
> node scripts/postinstall || echo "ignore"
Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock
Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)
> jsonpath@1.0.2 postinstall /www/server/yapi/vendors/node_modules/jsonpath
> node lib/aesprim.js > generated/aesprim-browser.js
sh: generated/aesprim-browser.js: Permission denied
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! jsonpath@1.0.2 postinstall: `node lib/aesprim.js > generated/aesprim-browser.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the jsonpath@1.0.2 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-06-05T15_08_06_583Z-debug.log
猜测可能是因为没有权限读写,
ls -la
看下文件权限设置情况
[root@root vendors]# ls -la
drwxr-xr-x 307 root root 12288 Jun 5 23:08 node_modules
-rwxr-xr-x 1 root root 5880 Jun 5 23:06 package.json
-rw-r--r-- 1 root root 900847 Jun 5 23:06 package-lock.json
只有root用户组有读写权限,其他只读,将
node_modules
文件夹修改权限,再执行看看
[root@root vendors]# npm i --production
> jsonpath@1.0.2 postinstall /www/server/yapi/vendors/node_modules/jsonpath
> node lib/aesprim.js > generated/aesprim-browser.js
sh: generated/aesprim-browser.js: Permission denied
npm WARN mongoose-auto-increment@5.0.1 requires a peer of mongoose@^4.1.12 but none is installed. You must install peer dependencies yourself.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! jsonpath@1.0.2 postinstall: `node lib/aesprim.js > generated/aesprim-browser.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the jsonpath@1.0.2 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-06-05T15_10_22_303Z-debug.log
经过面向搜索引擎开发,有提到用sudo,但是发现还是不行,实际原因是由于用的是
root
账户权限执行
npm
,而
npm
默认是不适用root权限创建内容,因此会出现权限问题而导致失败,加上参数
--unsafe-perm=true --allow-root
即可解决问题。
npm install --production --unsafe-perm=true --allow-root
版权声明:本文为biao0309原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。