最新资讯

  • Ubuntu平台下安装Node相关环境

Ubuntu平台下安装Node相关环境

2025-05-09 00:00:57 0 阅读

说明:在进行VUE、TS等开发需要用到NodeJS相关环境,不同的项目有时候需要不同的Node版本支撑。本文将详细讲解NVM、Node、Yarn、PM2等环境安装的实施步骤。

测试服务器环境:22.04 LTS。

1. NVM

定义:Node Version Manager(Node.js版本管理工具),简称nvm,是一个用于管理多个Node.js版本的命令行工具。它允许开发者在同一台机器上安装和切换不同版本的Node.js,从而解决不同项目对不同Node.js版本的依赖问题。

Github:nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

安装方式:

1)通过官网脚本:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash
# 或者 
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash

这个方式安装很可能报错。可以考虑用下文的手动方式。

2)源码安装:

# 直接从github官网下载最新的release版本源码包,或者git clone下载源码。
# 本文安装版本 nvm-0.40.2,2025年3月27日,存放在某路径下,比如 ~ 路径。
cd /opt/nvm-0.40.2   # 本文存放在 /opt 目录下

# activate nvm by sourcing it from your shell: 
. ./nvm.sh

# add these lines to your ~/.bashrc, ~/.profile, or ~/.zshrc file to have it automatically sourced upon login: (you may have to add to more than one of the above files)
# 可以选择 .bashrc 和 .profile 文件。编辑如下:
export NVM_DIR="/opt/nvm-0.40.2"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
# 注意上面的路径根据实际情况填写

# 刷新配置文件,生效
source ~/.bashrc
source ~/.profile

# 注意:如果在不同用户下,则可能均要去 ~ 目录中进行配置。

常用指令:

# 安装最新版本
nvm install node # "node" is an alias for the latest version

# install a specific version of node
nvm install 18.20.8 # or v18.20.8, 12.22.1, etc

# set an alias
nvm alias my_alias v18.20.8
# Make sure that your alias does not contain any spaces or slashes.

# 列出当前可安装版本
nvm ls-remote

# 查看已安装的Node.js版本
nvm list

# 使用指定版本,在不同版本之间切换
nvm use 版本号

# 卸载指定版本
nvm uninstall 版本号

# 查看当前版本
nvm current
nvm version # 在Linux上显示的是node当前版本
nvm --version # 显示nvm本身的版本

# 查看路径
nvm which 18.20.8
# /opt/nvm-0.40.2/versions/node/v18.20.8/bin/node

2. NodeJS

有了上面 NVM的管理,可以直接跳转到 5)进行设置处理。

1)更新系统包管理器 apt 和 apt-get  (下载压缩包安装,可以直接跳转到 4)进行处理)

sudo apt update
sudo apt-get update

2)使用apt进行安装

sudo apt-get install nodejs     # 下载nodejs
sudo apt-get install npm        #下载npm,它是nodejs的包管理器(nodejs package manager)

3)升级npm

npm install npm -g

在我的服务器上因为版本问题安装升级失败,考虑将apt方式安装的版本卸载。

sudo apt-get remove --purge npm
sudo apt-get remove --purge nodejs
sudo apt-get remove --purge nodejs-legacy
sudo apt-get autoremove

然后手动删除 npm 相关目录,通过find / -name npm 查找,主要是 usr/local/lib 和 usr/local/bin 等目录下内容。

4)从官网下载安装从官网(Node.js — Download Node.js®)下载版本:node-v16.13.2-linux-x64.tar.xz,上传至服务器,解压。

xz -d node-v16.13.2-linux-x64.tar.xz
tar -xvf node-v16.13.2-linux-x64.tar

建立软链接:

ln -s /home/nodejs/node-v16.13.2-linux-x64/bin/node /usr/local/bin/
ln -s /home/nodejs/node-v16.13.2-linux-x64/bin/npm /usr/local/bin/
ln -s /home/nodejs/node-v16.13.2-linux-x64/bin/npx /usr/local/bin/

5)设置国内镜像加速

npm config -g get registry
# 旧的淘宝镜像已失效
# sudo npm config -g set registry https://registry.npm.taobao.org
# 新的淘宝镜像
sudo npm config -g set registry https://registry.npmmirror.com

6)安装cnpm(可选)

国内的npm不是很好用,使用cnpm代替npm的日常使用。

npm install cnpm -g

安装完后,可以看到node的bin目录下,多了cnpm,也需要建立一下软链接:

ln -s /home/nodejs/node-v16.13.2-linux-x64/bin/cnpm /usr/local/bin/

3. Yarn

Yarn 是一个快速、可靠、安全的依赖管理工具,主要用于 JavaScript 项目,但它也可以用于其他语言和框架。它允许开发者轻松地安装、更新和管理项目所需的软件包。安装yarn方式如下:

npm install yarn -g
# 设置国内加速
# yarn config set registry https://registry.npm.taobao.org/
# 新的淘宝镜像
yarn config set registry https://registry.npmmirror.com -g
# -g 一定放在后面,否则报错

如果出现下面的错误:

npm ERR! code CERT_HAS_EXPIRED
npm ERR! errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/yarn failed, reason: certificate has expired

npm ERR! A complete log of this run can be found in: /root/.npm/_logs/2024-03-01T01_09_52_672Z-debug-0.log

则解决方案:

# 清除npm缓存
npm cache clean --force

# 取消ssl验证:
npm config set strict-ssl false

再次执行安装,即可。

查看安装情况:

npm list -global

但在系统中执行yarn,提示命令找不到,这个时候需要和 node一样,做一个软链接。

ln -s /opt/node/bin/yarn /usr/local/bin/

yarn的常用指令

yarn init:快速初始化一个项目,生成 package.json 文件。
yarn add  命令安装指定的软件包。
yarn upgrade  命令更新指定软件包到最新版本。
yarn remove  命令卸载不再需要的软件包。

yarn install:安装 package.json 中列出的所有依赖。
yarn install --force:强制重新安装所有依赖,忽略缓存。
yarn upgrade :升级指定包到最新版本。
yarn upgrade:升级所有包到最新版本。

yarn run