我已经设法破坏了我的npm安装,每当我尝试使用npm install安装包时,我都会收到以下错误消息:
npm
npm install
错误:EACCES:权限被拒绝,打开“/Users/marknorgate/.npm/ _cache /tmp/a449402d”
我已经尝试重新安装node &npm,我也试图重新定位我的npm缓存别处使用这些指令,但没有工作。
我怎样才能让它工作呢?
只需手动在/Users/marknorgate/.npm/_cacache/tmp的位置.npm下创建文件夹_cache/tmp,并以管理员权限运行您的命令
/Users/marknorgate/.npm/_cacache/tmp
.npm
_cache/tmp
恢复用户npm相关文件夹的所有权给当前用户,如下所示:
sudo chown -R $USER:$GROUP ~/.npm sudo chown -R $USER:$GROUP ~/.config
上面的回答对我不起作用。试着用--unsafe-perm运行你的命令。
--unsafe-perm
如
npm install -g node@latest --unsafe-perm
这似乎解决了问题。
sudo chown -R $(whoami) ~/.npm sudo chown -R $(whoami) ~/.config
如果答案中没有任何建议,请尝试以下命令:npm cache clear --force。这对我很管用。
npm cache clear --force
我在https://github.com/vuejs/vue-cli/issues/1809找到的。
如果你第一次运行NPM是使用sudo,就会发生这种情况,例如当你尝试执行NPM install -g时。
缓存文件夹需要由当前用户拥有,而不是root用户。
当使用普通用户权限(而不是sudo)运行时,这将赋予上述文件夹的所有权。
另外值得注意的是,不应该使用SUDO安装全局包。如果您确实遇到了权限问题,那么有必要更改全局目录。医生建议:
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
然后在你定义的任何地方更新你的PATH(~/。配置文件等等)。
export PATH=~/.npm-global/bin:$PATH
然后,您需要确保设置了PATH环境变量(重新启动终端或使用source命令)
https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally
sudo npm cache clean --force --unsafe-perm
然后NPM I正常运行
sudo npm install --unsafe-perm=true --allow-root
这是对我有用的方法
这对我很管用!
在全局安装包时解决EACCES权限错误
您可以尝试使用以下命令登录世博会:
sudo chown -R $USER:$GROUP ~/.expo
简单地执行sudo npm cache clean --force --unsafe-perm和npm i将正常运行。
npm i
改变所有权
工作,因为我安装包使用sudo
根据NPM社区
然后NPM安装就可以正常进行了。
来源:npm community-unhandled-rejection-error-eacces-permission-denied
试试这个: 在命令行上,在您的主目录中,为全局安装创建一个目录:
配置npm使用新的目录路径:
在您首选的文本编辑器中,打开或创建~/。配置文件,并添加这一行:
在命令行,更新你的系统变量:
source ~/.profile
现在使用npm安装它应该工作。
只需在终端:sudo chown -R $(whoami) ~/.npm上运行
sudo chown -R $(whoami) ~/.npm
这对我很管用!!
这个对我很有用:
我没有使用-g,因为我是唯一的用户。我用的是MacBook Air。
-g
Sudo NPM install -g @angular/cli
用这个。这对我很有效