即使在我安装brew node和NVM安装v0.6.19之后,我的节点版本始终是v0.6.1-pre。
我的节点版本是:
node -v
v0.6.1-pre
NVM这样说(在我第一次在一个bash终端中安装一个版本的节点之后):
nvm ls
v0.6.19
current: v0.6.19
但当我重启bash时,我看到的是:
nvm ls
v0.6.19
current: v0.6.1-pre
default -> 0.6.19 (-> v0.6.19)
那么,这个幻影节点0.6.1预版本在哪里?我该如何摆脱它?我正在尝试通过NPM安装库,以便我可以在项目中工作。
我尝试在NVM之前使用BREW进行更新,使用BREW更新和BREW安装节点。我已尝试删除/usr/local/include中的“node”目录和/usr/local/lib中的“节点”和“node_modules”。我已尝试卸载npm并按照以下说明重新安装。
所有这些都是因为我试图更新节点的旧版本以安装“zipstream”库。现在我的用户目录中有文件夹,节点版本STILL不是最新的,尽管NVM说它使用的是0.6.19。
理想情况下,我希望卸载nodejs、npm和nvm,然后在我的系统上从头安装整个程序。
显然,有一个/Users/myusername/local文件夹包含一个包含node的include和一个包含节点和node_modules的lib。我不知道它是如何创建的,为什么不是在我的/usr/local文件夹中创建的。
删除这些本地引用修复了幻象v0.6.1-pre。如果有人有解释,我会选择它作为正确答案。
编辑:
您可能还需要执行其他说明:
sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}
其等同于(如上所述)。。。
sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* /usr/local/lib/dtrace/node.d ~/.npm ~/.node-gyp
或(同上)分解。。。
要完全卸载node+npm,请执行以下操作:
转到/usr/local/lib并删除任何节点和node_modules转到/usr/local/include并删除任何节点和node_modules目录如果使用brew安装节点进行安装,则在终端中运行brew卸载节点检查主目录中是否有任何本地或lib或include文件夹,并从中删除任何节点或node_module转到/usr/local/bin并删除任何节点可执行文件
您可能还需要执行以下操作:
sudo rm -rf /opt/local/bin/node /opt/local/include/node /opt/local/lib/node_modules
sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d
此外,NVM修改$HOME/.bashrc中的PATH变量,该变量必须手动还原。
然后下载nvm并按照说明安装node。我相信,最新版本的node附带了npm,但您也可以重新安装。
卸载NodeJS的步骤:
对于带有M1芯片的MacOSMonterey,请按照下面的链接从系统中完全卸载节点。我尝试了多种方法,但这一个终于奏效了。
从Mac M1 Monterey卸载NodeJS和NPM
此外,请在末尾执行以下命令以从bin文件夹中删除与节点相关的目录。
sudo rm -R node-sass
sudo rm -R npm
sudo rm -R npx
要验证节点是否已删除,请执行以下操作:
node --version
它应该说找不到命令。
安装NodeJS的步骤:
使用M1芯片在Mac上启用Rosseta终端。如何启用Rosseta终端
使用nvm(节点版本管理器)在计算机上安装NodeJS。为什么是nvm??因为您可以运行多个版本的NodeJS(您可以使用新的应用程序以及Legacy应用程序)。
如何使用nvm安装多个版本的NodeJS
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
如果不存在,请创建.zshrc文件。
touch ~/.zshrc
使用nvm安装节点。
nvm install node # "node" is an alias for the latest version
nvm install 14.7.0 # or 16.3.0, 12.22.1, etc
要验证可用的NodeJS版本数:
nvm ls