以太坊开发教程-Mac npm 安装目录 EACCES: permission denied, 访问权限

本文介绍了在Mac环境下,使用npm安装包时遇到的EACCES权限错误问题,详细解析了错误原因,并提供了解决方案,通过修改npm配置文件权限或者使用sudo命令重新运行npm install来解决问题。

源问题:On npm install: Unhandled rejection Error: EACCES: permission denied

博主最近在使用Angular平台的时候在工程目录下使用npm install时会遇到问题,屏幕log片段:

npm ERR! Error: EACCES: permission denied, mkdir '/Users/xxxxx/.npm/_cacache/index-v5/ad/a1'
npm ERR!  { [Error: EACCES: permission denied, mkdir '/Users/
xxxxx/.npm/_cacache/index-v5/ad/a1']
npm ERR!   cause:
npm ERR!    { Error: EACCES: permission denied, mkdir '/Users/x x x xx/.npm/_cacache/index-v5/ad/a1'
npm ERR!      errno: -13,
npm ERR!      code: 'EACCES',
npm ERR!      syscall: 'mkdir',
npm ERR!      path: '/Users/xxxxx/.npm/_cacache/index-v5/ad/a1' },
npm ERR!   isOperational: true,

显然是在权限上除了问题,解决方式:

sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config

再次运行npm install即可解决问题。

 

在使用 `npm` 进行全局安装时,如果遇到类似 `Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/n'` 的错误,通常是因为当前用户对目标目录没有写权限。以下是解决此类权限问题的几种方法: 1. **修改 `/usr/local/lib/node_modules` 目录的所有权** 通过 `chown` 命令将该目录及其子目录的所有权赋予当前用户: ```bash sudo chown -R $USER /usr/local/lib/node_modules ``` 此操作完成后,再次尝试执行 `npm install -g n` 应该可以正常进行。 2. **使用 `sudo` 提权执行安装命令** 如果不希望更改系统目录的所有权,也可以直接使用 `sudo` 来提升权限进行安装: ```bash sudo npm install -g n ``` 这种方式适用于临时需要安装某些全局包的情况,但需要注意安全性问题。 3. **配置 npm 的全局安装路径** 避免与系统级目录发生权限冲突的一种更安全的方法是自定义 npm 全局安装路径。例如,可以在用户主目录下创建一个专门用于存放全局 npm 包的文件夹: ```bash mkdir ~/.npm-global npm config set prefix '~/.npm-global' ``` 然后将该路径添加到系统的 `PATH` 环境变量中(可在 `~/.bashrc` 或 `~/.zshrc` 中添加): ```bash export PATH=~/.npm-global/bin:$PATH ``` 最后重新加载配置文件: ```bash source ~/.bashrc # 或 source ~/.zshrc ``` 完成上述步骤后,即可无需 `sudo` 即可进行全局安装。 4. **使用 Node 版本管理工具(如 `nvm`)** 推荐使用 `nvm`(Node Version Manager)来管理 Node.js 版本,它会自动处理所有与权限相关的问题,并允许在同一台机器上轻松切换多个 Node.js 版本: ```bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash ``` 安装完成后,关闭终端并重新打开,然后运行以下命令安装 Node.js: ```bash nvm install node # 安装最新版本的 Node.js ``` 以上方法均可有效解决因权限不足导致的 `npm` 全局安装失败问题。推荐优先考虑使用 `nvm`,因为它不仅解决了权限问题,还提供了更灵活的版本管理功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

未来AI编程

共鸣===鼓励 打赏您随意

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

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

打赏作者

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

抵扣说明:

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

余额充值