Mac下安装项目依赖包,报以下错误:
image.png在github上找到了Bug Report or Feature Request (mark with an x) ,是在angular/cli项目中提的issue, @filipesilva在该问题下的回答:
This seems to be a problem with installing https://github.com/sass/node-sass, which is one of the dependencies.
The problem most likely arises from the use ofsudo
, which is heavily discouraged while installing packages. Check out https://docs.npmjs.com/getting-started/fixing-npm-permissions to see how you can fix your permissions.
fixing-npm-permissions 这个链接中给出了两种解决方案:
1. Reinstall with a Node Version Manager (使用node版本管理器重新安装node,比如nvm)
a. 先卸载之前安装的node/npm (mac下需要使用sudo)
sudo rm -rf /usr/local/lib/node_modules # 删除全局 node_modules 目录
sudo rm /usr/local/bin/node # 删除 node
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm # 删除全局 node 模块注册的软链
b. 安装nvm (适用于mac)
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
详见:[https://github.com/creationix/nvm/blob/master/README.md]
安装完 nvm 后,输入nvm,当看到有输出时,则 nvm 安装成功。若没安装成功,则需要做以下操作:
vi .bash_profile
然后将以下代码复制进去,保存退出
export NVM_DIR="$HOME/.nvm"
export NVM_NODEJS_ORG_MIRROR="http://npm.taobao.org/mirrors/node"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
然后 source 一下 .bash_profile
source .bash_profile
c. 使用nvm安装node
nvm install 8.9.1 # 安装 node8.9.1
2. Change npm's Default Directory (变更已安装的npm的默认目录)
a. Back-up your computer before you start.
Make a directory for global installations:
mkdir ~/.npm-global
Configure npm to use the new directory path:
npm config set prefix '~/.npm-global'
Open or create a ~/.profile file and add this line:
export PATH=~/.npm-global/bin:$PATH
Back on the command line, update your system variables:
source ~/.profile
Test: Download a package globally without using sudo.
npm install -g jshint
Instead of steps 2-4, you can use the corresponding ENV variable (e.g. if you don't want to modify ~/.profile):
NPM_CONFIG_PREFIX=~/.npm-global
⚠️本系列文章只是简单记录,提供解决问题的思路,不保证其中所有步骤都可以如预期般有效!
作者使用第一种方案,安装nvm node管理器重新安装node,解决了此问题。
网友评论