每当我尝试安装全局 npm 软件包时,都会遭到权限拒绝。我该如何解决这个问题。如何在不使用 sudo 的情况下安装

问题描述 投票:0回答:1

当我尝试安装 ex:

npm install -g n

我收到一个错误:

npm error code EACCES
npm error syscall rename
npm error path /usr/local/lib/node_modules/n 
npm error dest /usr/local/lib/node_modules/.n-oBR4I52F 
npm error errno -13 
npm error Error: EACCES: permission denied, rename '/usr/local/lib/node_modules/n' -> '/usr/local/lib/node_modules/.n-oBR4I52F' 
npm error     at async Object.rename (node:internal/fs/promises:782:10)
npm error     at async moveFile (/usr/lib64/node_modules/npm20/node_modules/@npmcli/fs/lib/move-file.js:30:5)
npm error     at async Promise.allSettled (index 0) 
npm error     at async [reifyPackages] (/usr/lib64/node_modules/npm20/node_modules/@npmcli/arborist/lib/arborist/reify.js:325:11) 
npm error     at async Arborist.reify (/usr/lib64/node_modules/npm20/node_modules/@npmcli/arborist/lib/arborist/reify.js:142:5) 
npm error     at async Install.exec (/usr/lib64/node_modules/npm20/lib/commands/install.js:150:5) 
npm error     at async module.exports (/usr/lib64/node_modules/npm20/lib/cli/entry.js:74:5) { 
npm error   errno: -13, 
npm error   code: 'EACCES', 
npm error   syscall: 'rename', 
npm error   path: '/usr/local/lib/node_modules/n', 
npm error   dest: '/usr/local/lib/node_modules/.n-oBR4I52F' 
npm error } 
npm error 

我尝试使用 sudo 安装,但不起作用。我的公司阻止安装。

node.js npm installation global
1个回答
0
投票

根据您的日志错误,我可以看到这是

EACCES permissions errors

正如 npm 包文档所建议的,尝试手动 npm 默认目录,您可以按照本文档中提到的步骤操作:

因此,即使您在手动更改目录后没有解决问题,查看这些源代码应该会对您有所帮助:

希望这些能帮助您解决全局安装软件包的问题。

© www.soinside.com 2019 - 2024. All rights reserved.