我在 stackoverflow 中查找了类似的主题,但找不到,所以就在这里。
我一直在http://learn.mean.io/上查看 MEAN 堆栈文档并检查一些 shell 命令。
我尝试通过更新 npm
npm update -g npm
Run Code Online (Sandbox Code Playgroud)
但这给出了错误
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
Run Code Online (Sandbox Code Playgroud)
所以我尝试了
sudo npm update -g npm
Run Code Online (Sandbox Code Playgroud)
但运行此命令后,我的 zsh shell 找不到 npm。当我输入任何 npm 命令时,它只会返回未找到命令。我不得不重新安装节点。可能是什么原因造成的?是因为我不知道的原因而在后台卸载 npm 或更改其 PATH 吗?
这是一种经过验证的 Node.js 安装技术,之后你的 npm update 命令将正常运行
以下是从源代码 (OSX/linux) 安装 Node.js 的步骤,您可以/应该以自己的身份而不是 root (sudo) 身份发出所有这些命令
注意 - 这会安装 Node.js,它为您提供了 Node 和 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
Run Code Online (Sandbox Code Playgroud)
从以下位置下载源:https: //nodejs.org/en/download/
cd node-v13.6.0
Run Code Online (Sandbox Code Playgroud)
将环境变量 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}/node-v13.6.0 # 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 -j8 # if you have a quad core use -j8
make install # NOTICE not using sudo so install is owned by normal user
Run Code Online (Sandbox Code Playgroud)
将其放入上面 --prefix 定义的目录中
验证其安装正常只是问题
node --version
Run Code Online (Sandbox Code Playgroud)
v13.6.0
当您使用语法时:
npm install -g some_cool_module
Run Code Online (Sandbox Code Playgroud)
全局的 -g 将其安装到目录 $NODE_PATH 而不是您的 $PWD
现在将以上三个 export xxx=yyy 命令放入 ~/.bashrc 或类似命令中以保留这些环境变量更改
当你想安装一些 npm 包时避免使用 sudo
| 归档时间: |
|
| 查看次数: |
2684 次 |
| 最近记录: |