我在stackoverflow中找了一个类似的主题,但找不到一个,所以就这样了。
我一直在http://learn.mean.io/查看MEAN堆栈文档,只是检查一些shell命令。
我尝试通过
更新npmnpm update -g npm
但这出现了错误
npm ERR! Error: EACCES, unlink '/usr/local/lib/node_modules/npm'
npm ERR! { [Error: EACCES, unlink '/usr/local/lib/node_modules/npm']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/usr/local/lib/node_modules/npm' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Darwin 14.0.0
npm ERR! command "node" "/usr/local/bin/npm" "update" "-g" "npm"
npm ERR! cwd /Users/cihankoseoglu
npm ERR! node -v v0.10.33
npm ERR! npm -v 1.4.28
npm ERR! path /usr/local/lib/node_modules/npm
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, unlink '/usr/local/lib/node_modules/npm'
npm ERR! error rolling back Error: EACCES, unlink '/usr/local/lib/node_modules/npm'
npm ERR! error rolling back { [Error: EACCES, unlink '/usr/local/lib/node_modules/npm']
npm ERR! error rolling back errno: 3,
npm ERR! error rolling back code: 'EACCES',
npm ERR! error rolling back path: '/usr/local/lib/node_modules/npm' }
npm ERR! not ok code 0
所以我试过
sudo npm update -g npm
但运行此命令后,我的zsh shell无法找到npm。当我输入任何npm命令时,它只返回未找到的命令。我不得不重新安装Node。什么可能导致这个?是不是因为我不熟悉的原因而在后台卸载npm或改变它的PATH?
答案 0 :(得分:0)
这是经过验证的Node.js安装技术,之后是你的npm更新 命令将运行正常
以下是从源代码安装Node.js的步骤(OSX / linux) 你可能/应该发布所有这些cmd,因为你自己不是root(sudo)
注意 - 这会安装Node.js,它既可以提供节点也可以提供npm, 他们每次发布都会聚在一起。
开始新的删除先前节点和npm安装以及这些:
sudo mv ~/.npmrc ~/.npmrc_ignore
sudo mv ~/.npm ~/.npm_ignore
sudo mv ~/tmp ~/tmp_ignore
sudo mv ~/.npm-init.js ~/.npm-init.js_ignore
下载源代码
cd node-v0.10.33
将环境变量NODE_PATH定义为后续模块安装的目录
export NODE_PARENT=/some/desired/install/path_goes_here
export NODE_PARENT=/usr/local/bin/nodejs # use this if you want to install as root (sudo)
export NODE_PARENT=${HOME}/nodejs-v0.10.33 # use this if you want to install modules as yourself
export PATH=${NODE_PARENT}/bin:${PATH}
export NODE_PATH=${NODE_PARENT}/lib/node_modules
./configure --prefix=${NODE_PARENT}
make
make install
将其放入上面--prefix
定义的目录中使用语法时:npm install -g some_cool_module -g for global将它安装到dir $ NODE_PATH而不是你的$ PWD
现在把三个导出xxx = yyy 命令到你的〜/ .bashrc或其他一些来保持这些环境变量的变化