node 和 npm 常见问题
记录 node 和 npm 常见问题
# npm 配置淘宝镜像:
npm config set registry http://registry.npmmirror.com
# Missing write access to /usr/local/lib/node_modules
解决方法有很多种,可以参考这里:node.js - npm install -g less does not work: EACCES: permission denied - Stack Overflow (opens new window)
这里主要说一下以下这种解决方法的问题:
To minimize the chance of permissions errors, you can configure npm to use a different directory. In this example, it will be a hidden directory on your home folder.
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
If still show permission error run (mac os):
sudo chown -R $USER ~/.npm-global
由于我是使用 iTerm2
命令行工具的,shell
使用的是 zsh
, 当使用 vi ~/.profile
添加环境变量 export PATH=~/.npm-global/bin:$PATH
后,原始系统命令 (如 ls
, vi
) 均无法使用
查询后才知道:
原因是因为环境变量的问题,编辑 profile 文件没有写正确,导致在命令行下 ls 等命令不能够识别。
解决办法:在命令行下打入下面这段就可以了
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
所以我这种情况是不能编辑 ~/.profile
文件的
需要编辑的是 ~/.zshrc
文件,在该文件种添加环境变量 export PATH=~/.npm-global/bin:$PATH
就可以了
zsh 的配置文件不再是 /.zsh_profile 去调用 /.zshrc,而是直接就是 /.zshrc 就可以了。所以对于 zsh 的一切设置,直接去 /.zshrc 中设置。
# 参考资料
- 01
- 搭配 Jenkins 实现自动化打包微前端多个项目09-15
- 02
- 自动化打包微前端多个项目09-15
- 03
- el-upload 直传阿里 oss 并且显示自带进度条和视频回显封面图06-05