1.没有权限安装
在你的安装指令前面加上sudo
,然后会提醒你输入密码,这个密码是你mac的开机解锁码!如:
sudo npm install egg-init -g
2.更换全局变量文件夹
2.1.回到用户根目录下再新建一个全局安装的路径
cd ~
mkdir ~/.npm-global
之前安装过的话会提醒存在了.npm-global这个文件夹
2.2.配置npm使用新的路径
npm config set prefix ‘~/.npm-global’
2.3打开或者新建~/.profile
vi ~/.profile
进入了vim编辑器之后,增加这样换环境变量配置代码:
export PATH=~/.npm-global/bin:$PATH
按esc键,然后在最下面入:wq
保存退出
2.4.更新系统环境变量
source ~/.profile
3.修改全局变量文件
(1) 启动终端Terminal
(2) 进入当前用户的home目录: cd ~ 或 cd /Users/YourMacUserName
修改.bash_profile文件:
open -e .bash_profile
添加你要的全局变量命令:
alias tnpm='/Users/liangzhenhua/.npm-global/bin/tnpm'
alias wepy='/Users/liangzhenhua/.npm-global/bin/wepy'
alias vue='/Users/liangzhenhua/.npm-global/bin/vue'
最后不要忘记刷新:
source ~/.bash_profile
按照以上这3步排除的话基本可以解决npm安装全局组件报错问题。
4.特例
由于我之前已经安装过了一个egg-init
,现在环境变量所以一直报错。
我的做法是去到.npm-global/lib/node_modules文件夹下(mac中以.开头的文件夹是隐藏文件夹)
cd .npm-global/lib/node_modules
将egg-init这个文件夹删除了
rm -r -f egg-init
然后再重新安装,就成功了