用的一个公司的电脑,上面装过了node,但是装的位置不是默认的安装位置,想要给它升级一下,总失败,找了几篇文章,总算搞定了。
Node升级到最新版本
清除缓存信息
npm cache clean -f
下载node安装包
npm install -g n
升级到nodejs最新稳定版本
n stable
查看当前版本
node -v
npm升级到最新版本
直接使用npm install
npm install -g npm
如果上面方式升级失败,可以尝试使用如下两种方式
(1)指定版本号升级
npm install -g npm@<version>
例如
npm install -g npm@8.5.3
(2)使用工具n升级
清除缓存
npm cache clean -f
安装升级工具n
npm install n -g
升级到最新版本
n stable
注意点
一定要先升级node,再升级npm,高版本的npm依赖高版本的node,如果先升级npm了,node版本很低,npm命令执行就会报错,提示当前node版本太低,需要升级node版本。
这时候再来按照上面的方式更新node的话就不行了,因为npm不能用了。
这里我使用nvm切换版本成功,但是实际效果并没有成功。
参考下面的办法:
如果你跟我一样,发现 node 版本没有任何变化,那最有可能的情况就是,你的node的安装目录和 n 默认的路径不一样。
查看 node 当前安装路径:
which node
/opt/node/bin/node #举个例子
下面有两种方式可以修改node版本:
1.修改环境变量
而 n 默认安装路径是 /usr/local,若你的 node 不是在此路径下,n 切换版本就不能把bin、lib、include、share 复制该路径中,所以我们必须通过N_PREFIX变量来修改 n 的默认node安装路径。
编辑环境配置文件:
vim ~/.bash_profile
进入文件内容后,按 i进入编辑状态
将下面两行代码插入到文件末尾:
export N_PREFIX= /usr/local/bin/node #node实际安装位置
export PATH=$N_PREFIX/bin:$PATH
编辑完成后Esc退出编辑状态再输入 :wq!保存退出;
执行source使修改生效。
source ~/.bash_profile
确认一下环境变量是否生效:
echo $N_PREFIX
/opt/node
这时候我们需要重新安装:
n stable
再查看当前 node 版本:
node -v
这里有一个坑,source ~/.bash_profile,使用过后只会暂时生效,检查方式就是管理当前终端,再打开新的终端输入
echo $N_PREFIX
会发现返回 的是空的,说明没有生效。
查看当前使用的shell:终端输入
echo $SHELL
//输出是/bin/zsh,说明使用的是zsh
解决办法:在.zshrc文件加中添加source ~/.bash_profile
vim ~/.zshrc
按i进入编辑模式,加入source ~/.bash_profile后,esc,再输入:wq!保存退出 即可
2.从node官网下载指定版本包,直接安装,然后删除which node中获取 的旧版本的地址:以mac为例
sudo rm -rf /opt/node/bin/node(这个地址要替换为你的电脑 上node的地址)
再新建一个命令窗口输入
node -v
查看node版本已经变为最新 。
3.使用n命令(这个时好时不好,可以试试)
sudo n 版本号//例如:sudo n 14.17.4。 正确的解决方案
最后检查自己node版本号
node-v // 修改成功