npm下载权限不足问题解决

npm下载权限不足问题解决

在使用npm下载包时老是出错

npm ERR! code EPERM
npm ERR! syscall open
npm ERR! path D:\nodejs\node_cache\_cacache\tmp\35eb6bad
npm ERR! errno EPERM
npm ERR! FetchError: Invalid response body while trying to fetch http://registry.npm.taobao.org/vue: EPERM: operation not permitted, open 'D:\nodejs\node_cache\_cacache\tmp\35eb6bad'
npm ERR!     at D:\nodejs\node_modules\npm\node_modules\minipass-fetch\lib\body.js:162:15
npm ERR!     at async View.getData (D:\nodejs\node_modules\npm\lib\view.js:210:20)
npm ERR!     at async View.view (D:\nodejs\node_modules\npm\lib\view.js:124:28)
npm ERR!  FetchError: Invalid response body while trying to fetch http://registry.npm.taobao.org/vue: EPERM: operation not permitted, open 'D:\nodejs\node_cache\_cacache\tmp\35eb6bad'
npm ERR!     at D:\nodejs\node_modules\npm\node_modules\minipass-fetch\lib\body.js:162:15
npm ERR!     at async View.getData (D:\nodejs\node_modules\npm\lib\view.js:210:20)
npm ERR!     at async View.view (D:\nodejs\node_modules\npm\lib\view.js:124:28) {
npm ERR!   code: 'EPERM',
npm ERR!   errno: 'EPERM',
npm ERR!   syscall: 'open',
npm ERR!   path: 'D:\\nodejs\\node_cache\\_cacache\\tmp\\35eb6bad',
npm ERR!   type: 'system'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It's possible that the file was already in use (by a text editor or antivirus),
npm ERR! or that you lack permissions to access it.
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.

提供几种如下解决方案,分两个平台(win和Linux)来说明

win

使用管理员身份运行cmd(不推荐)

每次安装包,都要以管理员身份运行cmd,有点麻烦

删除npmrc文件(不推荐)

如果自己本身就是管理员权限,因而无用

需要删除npmrc文件。

强调:不是nodejs安装目录npm模块下的那个npmrc文件

而是在C:\Users\用户名下的.npmrc文件

清除缓存(没成功)

用命令清除缓存的,我自己试了下没成功,放弃(都没成功,说什么放弃),上面删除文件起码成功了。

cmd中运行npm cache clean --force

更改文件夹权限(推荐)

每次安装都要用管理员身份运行,主要因为安装nodejs时没有授予写的权限,找到nodejs安装文件夹更改权限即可。

右键nodejs安装文件夹>>>属性>>>安全>>>编辑>>>选择用户>>>勾选写入权限>>>应用

Linux

直接在前面加sudo

sudo npm install <包>

posted @ 2022-01-17 15:55  pure3417  阅读(2314)  评论(0编辑  收藏  举报