每次我尝试使用npm(在这种情况下为Electronic-packager)安装某些东西时,都会遇到此错误。我该如何解决这个问题?
我已经尝试通过chmod更改.npm的权限来授予我访问权限,但是它不起作用,我还尝试了其他节点版本(通过nvm安装:node -v 12.1.0; npm- v 6.9.0),它也无法正常工作。
$ npm install electron-packager --save-dev
npm ERR! path /Users/felixmoser/.npm/_cacache/index-v5/15/a0
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall mkdir
npm ERR! Error: EACCES: permission denied, mkdir '/Users/felixmoser/.npm/_cacache/index-v5/15/a0'
npm ERR! [OperationalError: EACCES: permission denied, mkdir '/Users/felixmoser/.npm/_cacache/index-v5/15/a0'] {
npm ERR! cause: [Error: EACCES: permission denied, mkdir '/Users/felixmoser/.npm/_cacache/index-v5/15/a0'] {
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'mkdir',
npm ERR! path: '/Users/felixmoser/.npm/_cacache/index-v5/15/a0'
npm ERR! },
npm ERR! isOperational: true,
npm ERR! stack: 'Error: EACCES: permission denied, mkdir ' +
npm ERR! "'/Users/felixmoser/.npm/_cacache/index-v5/15/a0'",
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'mkdir',
npm ERR! path: '/Users/felixmoser/.npm/_cacache/index-v5/15/a0',
npm ERR! parent: 'electron-packager'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/felixmoser/.npm/_logs/2019-05-01T14_11_08_530Z-debug.log
我实际上不知道我现在还应该尝试什么,希望你们能帮助我解决这个问题!
答案 0 :(得分:2)
更改 .npm 文件夹的所有权, 就我而言,我无法找出解决方案,所以我使用了
sudo chown -R $(whoami) ~/.npm
答案 1 :(得分:1)
只需将~/.npm
文件夹的所有者更改为您自己:
sudo chown -R felixmoser ~/.npm
您需要输入密码才能呼叫sudo
。
答案 2 :(得分:0)
尝试使用 --global
或 -g
全局安装软件包时,也存在类似的权限问题。我知道这不是您当前的问题,但我想在这里添加它,因为在进行全局安装时使用 Google 搜索 EACCESS 的人也可能会遇到这个问题。
有些人更改了系统文件夹权限,允许非 root 用户在系统文件夹中写入内容,但这是他们在文档中推荐的内容:
https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally/
备份您的计算机(包括在这里是因为文档也提到了,但我觉得过于谨慎)
然后执行:
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
编辑您的~/.profile:
export PATH=~/.npm-global/bin:$PATH
然后调用它
source ~/.profile
要测试您的新配置,请在不使用 sudo 的情况下全局安装软件包:
npm install -g jshint
或者不修改 ~/.profile 只使用相应的 ENV 变量(但要使其永久化,您无论如何都必须修改配置文件)
NPM_CONFIG_PREFIX=~/.npm-global
答案 3 :(得分:-1)
只需添加sudo
因此,而不是npm install electron-packager --save-dev
设为sudo npm install electron-packager --save-dev
答案 4 :(得分:-2)
请考虑至少在用户所在位置内运行说明,例如:
/home/myuser/
express HelloWorld --view=pug