nodejs 升级_Ubuntu 18.04、CentOS7 下默认源下nodejs和npm的版本问题

Ubuntu 18.04

ubuntu 默认源里有nodejs,不过node和npm是分开的2个软件包npm依赖于node:

sudo apt install npm -y

执行:

node -v
npm -v

结果如下:

v2-01839900f0b43ea75274f6c5aaaa1229_b.jpg

node 版本是 8.10.0 npm 版本是 3.5.2,版本有点老 执行 sudo npm i -g npm 更新一下npm版本试试

v2-d8d448f868b463b5fc409515f3fc2235_b.jpg

没报错,但执行 npm -v 后显示的还是 3.5.2 ,退出终端重新登录进去试试看:

v2-ba418a58af76d5ea9d1d8fd6168a25e0_b.jpg

执行 npm -v 后显示的是 6.11.1,说明成功地安装了最新的版本,可能是安装完后环境变量没有刷新

CentOS7

CentOS7 的epel源里有nodejs,

yum install -y nodejs

npm会被一并安装

v2-29ee87b632fe19979d628833aa353949_b.jpg

npm版本倒是比ubuntu高了一点,但nodejs版本却低了2个大版本

更新一下版本试试

v2-37e45979d49d8afce98e9487591752a8_b.jpg

好家伙,直接报错了

然后 npm 消失了??不会连个回滚都没做吧,算了只能卸载重装了

yum remove nodejs -y
yum install -y

试试用 n 来装一下试试看,因为 n 装的nodejs里附带了npm

v2-124d427a18467fff4f88455f281793cc_b.jpg

还好 n 是能正常装的
安装最新版本node:

export NODE_MIRROR=https://npm.taobao.org/mirrors/node/
n latest

v2-2b10921d9648e478a1eab50c196457c0_b.jpg

用 n 装的node和npm可执行文件是在 /usr/local/bin 下的,而 /usr/local/bin 目录的优先级是在 /usr/bin 之前的,也就是说如果两个目录中有名字一样的可执行文件,优先执行 /usr/local/bin 下的,这一点可以从 echo $PATH 看出:

v2-bc62d2c361f7ef9605780347a353b708_b.png

出现这种情况很可能是环境变量没有刷新导致的,执行一下 source /etc/profile 或者重新进入一下终端就行了

v2-47c55356fda19bce702ebf0b0de85452_b.jpg

然后就可以正常更新npm了

v2-9bcbb03948dee0fd19e4fa4a41e905fd_b.jpg
总结一下
Ubuntu 18.04 默认的源装的node版本比CentOS7的新,但2个系统的node版本都比较老,可以通过 n 来装最新以及稳定版的node。
2个系统默认的npm版本都比较老,但ubuntu默认的npm可以直接升级到最新的版本,而CentOS7直接升级的话会报错,而且npm的可执行文件还会被删掉,卸载重装可以恢复,要升级的话可以先用npm 装 n,然后用 n 装最新版的node,通过 n 装的node会附带对应的较新版本的 npm
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值