全局安装TypeScript遇npm ERR! errno -13(EACCES)错误求助
解决npm全局安装TypeScript时的EACCES(errno -13)错误
错误原因
出现EACCES(errno -13)是因为npm尝试创建符号链接到系统目录/usr/local/bin/tsc时,当前用户没有足够的写入权限——普通用户默认无法修改这类系统级目录。
解决方案
1. 使用nvm管理Node.js(推荐)
nvm会将Node.js和npm包安装在用户目录下,彻底避免系统权限问题:
- 安装nvm后重启终端
- 安装长期支持版Node.js:
nvm install --lts - 执行全局安装命令:
npm install -g typescript
2. 自定义npm全局包目录
将npm全局包安装到用户有权限的目录:
- 创建专属目录:
mkdir -p ~/.npm-global - 配置npm使用该目录:
npm config set prefix '~/.npm-global' - 将目录添加到PATH:在
~/.bashrc或~/.zshrc中添加export PATH=~/.npm-global/bin:$PATH - 重新加载配置:
source ~/.bashrc(zsh用户执行source ~/.zshrc) - 安装TypeScript:
npm install -g typescript
3. 临时使用sudo(不推荐)
仅临时解决时可使用,但可能导致后续npm包权限混乱:
- 执行:
sudo npm install -g typescript,输入用户密码完成安装
注意
你输入的install typescript-g是错误命令,正确的全局安装命令应为npm install -g typescript,-g是全局安装参数,需放在install之后。
内容的提问来源于stack exchange,提问作者Abdelrahman Sanosi
相关产品推荐
相关产品推荐

