使用npm版本管理工具解决npm 的EACCES permissions errors when installing packages globally错误

EACCES错误通常表示"权限被拒绝",意味着您没有足够的权限来执行某个操作。在计算机领域,尤其是在文件系统和程序安装中,这个错误很常见。以下是可能导致EACCES错误的原因以及相应的解决方法:

  1. 文件系统权限:当您尝试访问或修改一个文件或目录,而您的用户账户没有相应的权限时,会出现EACCES错误。解决这个问题通常需要更改文件或目录的权限,或者使用具有足够权限的用户账户来执行操作。
  2. 全局安装包:在使用npm进行全局安装包时,如果您没有足够的权限,可能会遇到EACCES错误。这时,您可以尝试使用管理员权限运行命令行或终端,或者重新安装npm以解决权限问题。

现在,安装npm 建议使用npm 版本管理工具(推荐)。这是避免权限问题的最佳方法。要使用版本管理器重新安装 npm,请按照"下载并安装 Node.js 和 npm"中的步骤操作。在安装节点版本管理器之前,您不需要删除当前版本的 npm 或 Node.js。

Node Version Manager

Node Version Manager (nvm) 是一个流行的 Node.js 版本管理工具,它允许用户轻松地在不同的 Node.js 版本之间切换。以下是一些关于 nvm 的详细信息:

  1. 特点:nvm 支持安装多个 Node.js 版本,并且可以快速切换到任何已安装的版本。这样,您就可以根据项目需求或个人偏好,使用不同版本的 Node.js。
  2. 兼容性:nvm 主要用于 macOS 和 Linux 系统。对于 Windows 用户,可以考虑使用 nvm-windows、nodist 或 nvs 等替代方案。
  3. 安装与使用:安装 nvm 后,您可以通过命令行来安装、卸载和切换 Node.js 版本。例如,使用 nvm install latest 可以安装最新版本的 Node.js,而 nvm use 19.8.0 则可以切换到特定版本。
  4. 配置镜像源:为了提高下载和安装 Node.js 的速度,您可以配置淘宝镜像源或其他镜像源。
  5. 安装npm:每个 Node.js 版本都会自带一个相应版本的 npm。但如果您需要单独安装或更新 npm,可以从官方网站下载并按照指南进行安装。

参考官方:

https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

但是,我们在下载nvm时,github经常打不开,此时可使用码云同步的项目nvm-cn 解决的是 NodeJS 自身的国内下载问题,以下是项目地址:

https://gitee.com/RubyMetric/nvm-cn?_from=gitee_search

安装

bash 复制代码
bash -c "$(curl -fsSL https://gitee.com/RubyMetric/nvm-cn/raw/main/install.sh)"

列出所有可安装版本

bash 复制代码
nvm ls-remote

安装某个版本Node

bash 复制代码
nvm install v20.11.1

切换Node版本

**只有一个版本时,系统会默认指定。**当有多个版本时,可以切换成其他版本:

bash 复制代码
nvm use system
nvm use 14.15    # 不用全部打出版本号

更新nvm

bash 复制代码
nvm-update

此时使用npm install -g pnpm 成功了。

bash 复制代码
npm install -g pnpm

之后我们就可以正常使用pnpm install 安装项目依赖了。

相关推荐
IT_陈寒15 分钟前
Redis 性能翻倍的 5 个隐藏技巧,99% 的开发者都不知道第3点!
前端·人工智能·后端
街尾杂货店&23 分钟前
css word属性
前端·css
fruge3 小时前
2025前端工程化与性能优化实战指南:从构建到监控的全链路方案
前端·性能优化
aesthetician4 小时前
Node.js v25 重磅发布!革新与飞跃:深入探索 JavaScript 运行时的未来
javascript·node.js·vim
lijun_xiao200910 小时前
前端最新Vue2+Vue3基础入门到实战项目全套教程
前端
90后的晨仔10 小时前
Pinia 状态管理原理与实战全解析
前端·vue.js
代码搬运媛10 小时前
【架构相关】tsconfig.json 与 tsconfig.node.json、tsconfig.app.json 的关系和作用
node.js·json
杰克尼10 小时前
JavaWeb_p165部门管理
java·开发语言·前端
EndingCoder10 小时前
WebSocket实时通信:Socket.io
服务器·javascript·网络·websocket·网络协议·node.js
90后的晨仔10 小时前
Vue3 状态管理完全指南:从响应式 API 到 Pinia
前端·vue.js