【Mac】npm error Error: EACCES: permission denied, mkdir‘/Users/...

问题描述:Mac电脑中的 vscode 下载依赖的时候提示没有权限:

在这里插入图片描述

故障分析

  • 首先账号是有权限的,电脑就建了一个账号是管理员;
  • 在桌面用shell直接执行命令npm init 命令可以执行成功,那么问题就出在vscodes上面了,临时解决方案 sudo npm xxx
  • 但是每次这么做太麻烦了,给vscode安装包加个权限吧。

解决方案

把vscode安装包的路径设置成系统环境变量,类似给java设置环境变量。先拿到安装包的路径,再设置成系统环境变量具体操作如下。

具体解决步骤

1. 拿到应用路径

苹果的应用程序都在这个目录( /Applications/…), 然后在命令行执行 sudo +路径回车
sudo "/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code"

2. 添加系统环境变量

2.1 使用 nano ~/.zshrc ,添加系统环境变量,打开后添加到最后一行:

export PATH="$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"

在这里插入图片描述

2.2 保存退出

Ctrl + X → 按 Y → Enter

3 让环境变量生效

source ~/.zshrc
code --version

### 解决 VSCodePermission denied 错误的方法 #### SSH 密钥配置不当导致的 `Permission denied (publickey)` 错误 当尝试通过 Git 进行 pull 或 push 操作时,如果遇到如下错误信息: ``` git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. ``` 这通常意味着本地计算机上的 SSH 私钥未被正确设置或未能成功添加至 GitHub 账户。为了修正此问题,需确认并验证 SSH 密钥是否已被妥善配置[^1]。 #### Node.js 版本引起的 SSL 加密算法支持性问题 对于 Mac 用户,在运行基于 Node.js 的项目时可能会遭遇类似于下面这样的 OpenSSL 库内部错误: ``` Error: error:0308010C:digital envelope routines::unsupported ``` 该现象主要发生在 Node.js 17及以上版本中,因为这些版本引入了更严格的默认安全策略,从而限制了一些旧版加密方法的支持范围。针对这种情况,建议调整环境变量来绕过这一限制[^2]。 ```bash export NODE_OPTIONS=--openssl-legacy-provider ``` #### 插件安装过程中的权限不足情况 在 macOS 上利用 Visual Studio Code 安装扩展包如 Go 编程语言插件期间,有时会碰到由于缺乏适当写入许可而导致的操作失败情形。具体表现为即使借助超级用户权限也无法顺利完成整个流程。对此类状况的有效处理方式之一便是修改目标文件夹及其子项的所有者属性,使之匹配当前登录的身份凭证;不过需要注意的是这样做可能存在潜在的安全风险,因此务必谨慎行事[^3]。 #### NPM 更新过程中发生的访问受限障碍 每当打算全局范围内刷新 npm 工具链却不幸触发 “permission denied” 提示符的时候,往往暗示着现行上下文中缺失必要的执行权柄。此时可以通过附加 sudo 参数前缀的方式临时获取更高层次的控制力以便顺利达成目的。例如要升级 npm 自身,则可依照下述指令序列操作[^4]: ```bash sudo npm install -g npm ``` #### 远程主机接入受阻的情形分析与对策探讨 假设正试图经由终端模拟器建立通往远程 Linux 发行板(比如 Ubuntu Server)之间的交互通道但却屡次碰壁——收到诸如“Permission denied, please try again”的反馈消息的话,那么极有可能是对方尚未激活相应的网络通信端口所致。鉴于此,有必要按照官方文档指导完成 OpenSSH 服务器组件的部署工作,并确保其处于活动状态之中。此外还需留意防火墙规则设定以免无意间阻挡合法的数据交换请求。一旦上述准备工作全部落实到位之后再试一次应该就能恢复正常通讯联系了[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Billy Qin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值