最近要创建一个新项目,使用npm全局下载脚手架的时候,发现报错:
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/fe-cli'
npm ERR! [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/fe-cli'] {
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'mkdir',
npm ERR! path: '/usr/local/lib/node_modules/fe-cli'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.
原因说明:没有足够的权限在 /usr/local/lib/node_modules 目录下创建文件夹,这通常是因为默认情况下,普通用户没有权限在 /usr/local/lib 目录中进行写入操作。
有两种方式来解决这个问题
1.使用 Node.js 的版本管理工具 nvm 或 n 来安装 Node.js
在 macOS 系统上,你可以使用 Node.js 的版本管理工具 nvm 或 n 来安装 Node.js,这样会避免权限问题。
这将安装 Vue.js 到 Node.js 的全局安装目录中,通常在用户的主目录下,而不需要管理员权限。
2.手动修改npm默认的文件夹(不推荐)
Resolving EACCES permissions errors when installing packages globally | npm Docs
1、首先查看电脑上是否安装的有node,查看node版本
node -v
2、如果有node就彻底删除node
sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}
1.先在host文件中配置:185.199.109.133
1、下载nvm sudo curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash (如果报错失败或连接不到远程, raw.githubusercontent.com)
2、正常情况下安装完成后,会自动在全局配置文件中,配置好相应的环境变量。可以使用?nvm -v?命令进行验证。如果出现zsh: command not found: nvm,则按照下面的步骤手动配置。
vim编辑信息命令
i 编辑
esc 退出编辑(esc指esc键)
:qw 退出编辑文件
1、进入顶层文件夹
cd ~
2、配置环境变量
vim ~/.bash_profile
3、然后将下面的配置信息输入保存
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
4、刷新环境变量
source ~/.bash_profile
5、输入 nvm -v 检查nvm是否可用
nvm install v16.20.2
nvm uninstall v16.20.2
nvm ls
nvm use v16.20.2
参考: