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升级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

https://www.npmjs.com/package/n

因为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版本?

具体查看:https://github.com/nodesource/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》,
请注明出处:https://www.zhoulujun.cn/html/webfront/ECMAScript/nodejs/8825.html

nodejs升级到最新LTS版本方法汇总:linux/mac/window—npm/yum/ssh的更多相关文章

  1. centos7 docker升级到最新稳定版本

    原文:centos7 docker升级到最新稳定版本 一.前言 docker的版本分为社区版docker-ce和企业版dokcer-ee社,区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外 ...

  2. 【web】Ubuntu上安装nodejs 4.x 5.x版本方法

    在Linux(ubuntu server)上面安装NodeJS的正确姿势 上一篇文章,我介绍了 在Windows中安装NodeJS的正确姿势,这一篇,我们继续来看一下在Linux上面安装和配置Node ...

  3. nodejs+express4.0+mongodb安装方法 for Linux, Mac

    废话不多说 1:下载nodejs包 下载地址例如以下:http://www.nodejs.org/download/ 下载source code版本号须要解压后到其文件夹运行./configure,然 ...

  4. CentOS6下用yum升级系统最新内核版本

    首先当你决定升级内核时,要想清楚为什么升级内核,因为升级内核会带来很多麻烦.所以这种事情能避免就避免 导入 Public Key rpm --import https://www.elrepo.org ...

  5. nodejs的express框架(request,response方法汇总)

    Response 对象 - response 对象表示 HTTP 响应,即在接收到请求时向客户端发送的 HTTP 响应数据.常见属性有: res.app:同req.app一样 res.append() ...

  6. 在ubuntu上安装最新稳定版本的node及npm

    背景 通过ubuntu官方apt安装工具安装的node是最新LTS版本的,而本人是个有点强迫症的人,喜欢追求新的东西,也就是想方设法想要去安装最新版本的node,所以本文也就产生了,附上ubuntu安 ...

  7. Windows 下Npm和NodeJS升级

    前提电脑中已经安装过NodeJS, npm.现在需要进行升级操作. 1.查看当前的npm和NodeJs的版本: C:\Users\Administrator>node -vv4.4.3 C:\U ...

  8. 升级openssh到高版本

    linux升级openssh到高版本 可以解决OpenSSH 安全漏洞(CVE-2018-15919)和SSH服务器类型和版本 如果是新服务器,需要安装对应命令vim 上传下载等命令 安装上传或者下载 ...

  9. Linux(Fedora)下NodeJs升级最新版本(制定版本)

    Linux(Fedora)下NodeJs升级最新版本(制定版本) 首先安装n模块: npm install -g n 升级node.js到最新稳定版 n stable 升级node.js到制定版本 n ...

  10. nodejs升级的两种方法

    方法一: 用n升级nodejs # 全局安装n$ npm install -g n# 升级到最新稳定版$ n stable # 升级到最新版$ n latest# 升级到定制版$ n v7.10.0# ...

随机推荐

  1. Python 潮流周刊#24:no-GIL 提案正式被采纳了!

    你好,我是猫哥.这里每周分享优质的 Python.AI 及通用技术内容,大部分为英文.标题取自其中两则分享,不代表全部内容都是该主题,特此声明. 微信 | 博客 | 邮件 | Github | Tel ...

  2. APP攻防--安卓逆向&数据修改&逻辑修改&视图修改

    APP攻防--安卓逆向&数据修改&逻辑修改&视图修改 @ 目录 APP攻防--安卓逆向&数据修改&逻辑修改&视图修改 工具集 apk目录意义 逆向数据修 ...

  3. Static关键词

    在程序中使用static 变量 1. 局部变量 普通局部变量是再熟悉不过的变量了,在任何一个函数内部定义的变量(不加static修饰符)都属于这个范畴.编译器一般不对普通局部变量进行初始化,也就是说它 ...

  4. AcWing 456. 车站分级

    原题链接AcWing 456. 车站分级 抽象出题意,停靠过的车站的等级一定严格大于为停靠过的车站的等级,且不存在环,例如车站\(A\)等级大于车站\(B\),则\(A >= B + 1\),不 ...

  5. 方法覆盖Override

    继承作用: 基本作用:代码复用 重要作用:方法覆盖和多态机制 ===================================================================== ...

  6. 详细一些的vue生命周期

    如果你和我一样,以前对vue生命周期的理解仅限于生命周期钩子,那么本文可以让我们更深入一层,理解vue在生命周期各个阶段所做的事,对我们对vue的理解和使用很有好处. (1)通过new Vue()创建 ...

  7. 本地数据备份与FTP远程数据迁移

    数据是电脑中最重要的东西.为了保证数据安全,我们经常会对数据进行备份.之前一直采用将重要数据拷贝至移动硬盘的方式实现备份,实现简单但每次都需要把所有文件拷贝一次,当文件很大时效率较低. 因此,考虑使用 ...

  8. Socket是什么/怎么理解Socket

    Socket 先来看一下百度百科对于Socket的介绍:套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开.读写和关闭等操作.套接字允许应用程序将I/O ...

  9. [GDOI22pj2C] 教室的电子钟

    第三题 教室的电子钟 提交文件: clock.cpp 输入文件: clock.in 输出文件: clock.out 时间空间限制: 1 秒, 256 MB 为了迎接 GDOI,小蒟蒻学校所有教室的钟都 ...

  10. excute方法和submit方法

    区别:   1.参数     execute  Runnable     submit     Callable   2.返回值     execute :void     submit :Futur ...