macbook air m2 下载pnpm提示Error: EACCES: permission denied

背景

通过npm全局下载pnpm,提示报错Error: EACCES: permission denied

npm install pnpm -g

报错提示如下图:
在这里插入图片描述

解决方法

指令前使用sudo指令
eg:

sudo npm install pnpm -g

成功~

原因分析

macos是基于Linux的,所以本身sudo就是Linux下的指令,sudo命令以系统管理者的身份执行指令,依次,通过sudo所执行的指令就好像是root亲自执行。

参考文档

https://blog.youkuaiyun.com/niceyoo/article/details/102844146

### 解决方案 当遇到 `EPERM: operation not permitted` 错误时,通常是由权限不足引起的。以下是针对此问题的具体解决方案: #### 1. 使用管理员权限运行命令提示符 在 Windows 上,尝试以管理员身份运行 CMD 或 PowerShell 来执行命令可以有效解决权限问题[^1]。 可以通过右键点击 CMD 图标并选择“以管理员身份运行”来实现。 #### 2. 修改文件夹权限 如果上述方法未能解决问题,则可能需要手动调整目标目录的访问权限。具体步骤如下: - 找到 Node.js 安装路径(默认为 `C:\Program Files\nodejs\`),右击该文件夹。 - 进入属性 -> 安全选项卡。 - 添加当前用户的完全控制权限[^2]。 #### 3. 更改全局模块存储位置 有时即使拥有足够的权限仍会失败,这时可考虑更改 npm 和 pnpm 存储全局包的位置至用户目录下更安全的地方。通过设置环境变量或者配置文件完成这一改动: ```bash pnpm config set global-dir "%USERPROFILE%\.pnpm-global" pnpm config set store-dir "%USERPROFILE%\.pnpm-store" ``` 以上两条指令分别指定了新的全局依赖安装地址以及缓存仓库所在处[^3]。 #### 4. 卸载重装 Node.js 对于某些顽固情况来说,重新部署整个开发工具链可能是必要的最后手段之一。确保下载最新稳定版本(如LTS),并且避免安装于受保护较高的系统盘根目录内。 --- ### 示例代码片段 下面展示如何验证是否成功解决了权限问题: ```javascript // 测试脚本 testPermissions.js try { const fs = require('fs'); fs.mkdirSync('./testFolder', { recursive: true }); console.log("Permission granted."); } catch (err) { console.error(`Failed to create directory due to ${err.message}`); } ``` 运行测试程序前先删除任何现存同名文件夹以免干扰结果判断。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值