首页 > 解决方案 > sudo npm i npm 或 sudo npm install npm@latest -g 抛出 EACCES:permission denied 错误

问题描述

我有 npm v 5.6 并且我安装了节点版本 10.1,因此当前的 npm 不支持节点版本,同时更新 npm 我收到 EACCES 权限被拒绝错误。我尝试删除 npm 目录并通过几个命令更新 npm 版本卡在 5.6。帮助!!使用 Ubuntu v16.04 LTS。我也尝试安装不同的 nodejs 版本,但它也没有改变 npm 版本(npm v5.6)。

访问此处获取屏幕截图

标签: node.jsnpm

解决方案


我建议使用版本管理器(例如nvm)安装多个版本的 Node.js 并在它们之间随意切换。

首先,确保您已安装git并安装了build-essential软件包:

sudo apt-get update
sudo apt-get install build-essential git

然后使用 cURL 安装 nvm(在终端中运行此命令):

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

这会将 nvm 存储库克隆~/.nvm到您的 bash 配置文件,并对您的配置文件进行所需的更改,以便您可以从终端中的任何位置使用 nvm。

重新加载您的 bash 配置文件:

source ~/.bashrc

并通过键入以下内容验证安装:

command -v nvm

如果安装成功,它应该输出'nvm'。

(如果这不起作用,只需关闭,然后重新打开终端)

就是这样,nvm 已安装并可以使用了。


现在,要下载、编译和安装最新版本的 Node,请从终端运行以下命令:

nvm install node

然后在任何新的 shell中使用已安装的版本:

nvm use node

最后,验证是否使用了正确的版本:

node -v
=> 10.5.0

使用 nvm 还有很多其他功能,例如安装多个 Node 版本。

您可以在此处阅读更多相关信息:https ://www.sitepoint.com/quick-tip-multiple-versions-node-nvm/

HTH


推荐阅读