nodejs不同版本的差异还是蛮多的,比如obj?.a 在nodejs12是不支持的,必须得升级到14才可以。但是centos yum 默认安装的,或者系统集成的nodejs版本都是很老的。项目上传到生产环境无法跑。所以,第一个是在项目中,锁定nodejs版本,比如:
{
??"name":?"bk-vision",
??"version":?"0.2.7",
??"private":?true,
??"description":?"bk-vision",
??"keywords":?[
????"bk-vision",
????"可视化平台"
??],
??"engines":?{
????"node":?"^v16.15.0",
????"npm":?"^8.5.5"
??},
??"main":?"dist/main.js",
}
本地nodejs版本管理,请参考:《nvm使用详解——命令解析大全》、《npm包管理问题:安装nvm后如何管理各个版本间包》
本篇主要讲linux 服务器上 升级方法,nodejs版本、
看了官网的文档:https://www.linode.com/docs/guides/how-to-update-nodejs/? 本篇做最详细的补充
npm?install?npm@latest?-g
检查 npm 的当前版本,使用命令:npm -v
npm?cache?clean?-f
安装 n 模块
npm?install?-g?n
安装最新的稳定版本
n?stable
你也可以定制一个自己喜欢的版本:n 16.5.0
https://www.npmjs.com/package/n
因为n比nvm简单,所以在linux上直接npm 来升级nodejs,我选择n
brew?update
brew?upgrade?node
yum?clean?all
rm?-fv?/etc/yum.repos.d/nodesource*
curl?--silent?--location?https://rpm.nodesource.com/setup_16.x?|?sudo?bash
sudo?yum?-y?install?nodejs
curl表示获取地址对应的内容,而https://rpm.nodesource.com/setup_14.x就是一段shell脚步:
#!/bin/bash
SCRSUFFIX="_14.x"
NODENAME="Node.js?14.x"
NODEREPO="pub_14.x"
NODEPKG="nodejs"
print_status()?{
??local?outp=$(echo?"$1")?#?|?sed?-r?'s/\n/\n##?/mg')
??echo
??echo?-e?"##?${outp}"
??echo
}
##省略
而|是管道符,表示通过bash执行上述shell脚步内容,脚步对yum的node源地址做了一些修改和设置
具体查看:https://github.com/nodesource/distributions,查找?Installation instructions,
#?Using?Ubuntu
curl?-fsSL?https://deb.nodesource.com/setup_14.x?|?sudo?-E?bash?-
sudo?apt-get?install?-y?nodejs
#?Using?Debian,?as?root
curl?-fsSL?https://deb.nodesource.com/setup_14.x?|?bash?-
apt-get?install?-y?nodejs
#?Using?Ubuntu
curl?-fsSL?https://deb.nodesource.com/setup_lts.x?|?sudo?-E?bash?-
sudo?apt-get?install?-y?nodejs
#?Using?Debian,?as?root
curl?-fsSL?https://deb.nodesource.com/setup_lts.x?|?bash?-
apt-get?install?-y?nodejs
转载本站文章《nodejs升级到最新LTS版本方法汇总:linux/mac/window—npm/yum/ssh》, 请注明出处:https://www.zhoulujun.cn/html/webfront/ECMAScript/nodejs/8825.html
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。