npm安装包时,在使用了sudo 的情况下还是有权限问题。错误如下:
localhost:shareBonus xxx$ sudo npm i
Password:
npm WARN deprecated babel-preset-es2015@6.24.1: ? Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update!
npm ERR! code 1
npm ERR! Command failed: /usr/local/bin/git clone -q https://github.com/nemanjan00/ejs.git /Users/xxx/.npm/_cacache/tmp/git-clone-60bc8768
npm ERR! /Users/xxx/.npm/_cacache/tmp/git-clone-60bc8768/.git: Permission denied
npm ERR!
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/xxx/.npm/_logs/2018-06-07T06_52_00_147Z-debug.log
解决方案:使用版本节点管理器安装node
- 打开自己的用户配置根目录
cd ~/
- 下载版本节点管理器
git clone <https://github.com/creationix/nvm.git> .nvm
cd ~/.nvm
git checkout v0.33.11
- 激活nvm
. nvm.sh
- 在这些文件中
~/.bashrc, ~/.profile, 或者 ~/.zshrc
添加下面的代码,如果文件不存在的话,需要自己添加
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
nvm install node
nvm use node
npm install XXX
(你要安装的包) 不需要再使用sudo
参考来源:https://docs.npmjs.com/getting-started/fixing-npm-permissions