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版本、
看了官网的文档:How to Update Node.js on Linux, macOS, and Windows |Linode 本篇做最详细的补充
通过npm升级npm和node升级的正确方式
npm升级npm
npm install npm@latest -g
检查 npm 的当前版本,使用命令:npm -v
清除npm cache
npm cache clean -f
npm升级nodejs
安装 n 模块
npm install -g n
安装最新的稳定版本
n stable
你也可以定制一个自己喜欢的版本:n 16.5.0
n – Interactively Manage Your Node.js Versions
因为n比nvm简单,所以在linux上直接npm 来升级nodejs,我选择n
通过brew 更新 Node.js version on macOS
brew update brew upgrade node
yum安装新版nodejs
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 bash 做了什么?
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源地址做了一些修改和设置
curl哪个nodejs版本?
具体查看:GitHub - nodesource/distributions: NodeSource Node.js Binary Distributions,查找 Installation instructions,
Node.js v14.x:
# 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
Node.js LTS (v16.x):
# 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》,
请注明出处:nodejs升级到最新LTS版本方法汇总:linux/mac/window—npm/yum/ssh - node.js开发环境搭建、包管理器npm等相关教程 - 周陆军的个人网站