使用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 安装项目依赖了。

相关推荐
1024肥宅33 分钟前
JavaScript 拷贝全解析:从浅拷贝到深拷贝的完整指南
前端·javascript·ecmascript 6
欧阳天风44 分钟前
js实现鼠标横向滚动
开发语言·前端·javascript
局i1 小时前
Vue 指令详解:v-for、v-if、v-show 与 {{}} 的妙用
前端·javascript·vue.js
码界奇点2 小时前
Java Web学习 第15篇jQuery从入门到精通的万字深度解析
java·前端·学习·jquery
小鑫同学2 小时前
Alias Assistant:新一代 macOS Shell 别名管理解决方案
前端·前端工程化
꒰ঌ小武໒꒱2 小时前
RuoYi-Vue 前端环境搭建与部署完整教程
前端·javascript·vue.js·nginx
名字越长技术越强2 小时前
前端之相对路径
前端
望道同学3 小时前
PMP/信息系统项目管理师 9 张 思维导图【考试必备】
前端·后端·程序员
局i4 小时前
Vue 中 v-text 与 v-html 的区别:文本渲染与 HTML 解析的抉择
前端·javascript·vue.js
菜鸟冲锋号4 小时前
问题:增量关联(实时同步新数据) 这个场景中,如果hudi_pay 变更了一条数据,hudi_order_pay_join 结果的数据会跟着变化吗
服务器·前端·数据库