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

相关推荐
鹏北海-RemHusband6 分钟前
从零到一:基于 micro-app 的企业级微前端模板完整实现指南
前端·微服务·架构
LYFlied7 分钟前
AI大时代下前端跨端解决方案的现状与演进路径
前端·人工智能
光影少年11 分钟前
AI 前端 / 高级前端
前端·人工智能·状态模式
一位搞嵌入式的 genius12 分钟前
深入 JavaScript 函数式编程:从基础到实战(含面试题解析)
前端·javascript·函数式
anOnion23 分钟前
构建无障碍组件之Alert Dialog Pattern
前端·html·交互设计
choke23331 分钟前
[特殊字符] Python 文件与路径操作
java·前端·javascript
云飞云共享云桌面33 分钟前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
Deng9452013141 小时前
Vue + Flask 前后端分离项目实战:从零搭建一个完整博客系统
前端·vue.js·flask
威迪斯特1 小时前
Flask:轻量级Web框架的技术本质与工程实践
前端·数据库·后端·python·flask·开发框架·核心架构
Hello.Reader1 小时前
Flink 文件系统通用配置默认文件系统与连接数限制实战
vue.js·flink·npm