Node版本及源管理

简介: Node 版本推荐用最新的lts版本(目前12.x), 尝鲜可以用current版本(一般比稳定版超前一个大版本)

前言


Node 版本推荐用最新的lts版本(目前12.x), 尝鲜可以用current版本(一般比稳定版超前一个大版本)

Node单版本


NodeJS 官网下载安装lts或者current版本:nodejs 官网

Node多版本


有时候需要用到不同Node的版本运行不同的项目,

单版本就很局限了,所以社区也出了多版本管理的工具

nvm


nvm一开始只为linux和macos实现,因为是用shell脚本写的,

后续流行起来后,就开始有周边了,包括兼容windows的衍生库

Linux/macOS上安装


$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
# 或者
$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
# 上面的执行成功后,还需要写入环境变量,具体改动你的shell配置文件(用户根目录下的)
# bash -> .bashrc
# zsh -> .zshrc
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

windows上安装


直接下载 nvm-windows安装包安装即可。


$ nvm install 10.15.0 # 下载编译和安装指定版本node
$ nvm use 10.15.0 # 切换(使用)指定版本node
$ nvm alias default 10.15.0 # 设置shell默认版本


更多 nvm 用法查看文档 nvm 文档

nvs


nvs默认支持全平台,用node写的


Linux/macOS上安装


# 声明一个临时变量
export NVS_HOME="$HOME/.nvs"
# 克隆仓库
git clone https://github.com/jasongin/nvs "$NVS_HOME"
# 执行脚本安装
. "$NVS_HOME/nvs.sh" install

windows上安装


  • 安装chocolatey,类似mac下的brew
  • choco install nvs


操作也是很直观,跟nvm一样很直白


$ nvs --help
NVS (Node Version Switcher) usage
nvs help <command>             Get detailed help for a command
nvs install                    Initialize your profile for using NVS
nvs --version                  Display the NVS tool version
nvs menu                       Launch an interactive menu
nvs add <version>              Download and extract a node version
nvs rm <version>               Remove a node version
nvs migrate <fromver> [tover]  Migrate global modules
nvs upgrade [fromver]          Upgrade to latest patch of major version
nvs use [version]              Use a node version in the current shell
nvs auto [on/off]              Automatically switch based on cwd
nvs run <ver> <js> [args...]   Run a script using a node version
nvs exec <ver> <exe> [args...] Run an executable using a node version
nvs which [version]            Show the path to a node version binary
nvs ls [filter]                List local node versions
nvs ls-remote [filter]         List node versions available to download
nvs link [version]             Link a version as the default
nvs unlink [version]           Remove links to a default version
nvs alias [name] [value]       Set or recall aliases for versions
nvs remote [name] [uri]        Set or recall download base URIs
A version string consists of a semantic version number or version label
("lts" or "latest"), optionally preceeded by a remote name, optionally
followed by an architecture, separated by slashes.
Examples: "lts", "4.6.0", "6.3.1/x86", "node/6.7.0/x64"
Aliases may also be used anywhere in place of a version string.


$ nvs add lts # 安装最新的LTS
$ nvs use lts # 切换指定的 node 版本
$ nvs link lts# 配置为默认版本,设置shell默认版本

Node源管理


公司内部搭建了npm 私有仓库,仓库内包含运行项目必要的依赖;


常规的源切换,只能用npm config去设置局部或者全局的源,步骤和操作上有点繁琐。


针对这种情况社区也出了方便维护和快速切换的工具:nrm

nrm 安装


全局安装nrm


npm install -g nrm

添加内部私仓地址


添加一个新的 npm 源,


nrm add h3npm http://xxxxx/repository/npm-all/  # 公司信息,脱敏
复制代

切换 npm 源到私仓


nrm use h3npm


运行nrm ls命令查看当前设置的 npm 源,*代表当前 npm 源


$ nrm ls
  npm -------- https://registry.npmjs.org/ # npm官方源
  yarn ------- https://registry.yarnpkg.com/ # yarn的官方源
  cnpm ------- http://r.cnpmjs.org/ # cnpm 源
  taobao ----- https://registry.npm.taobao.org/ # 淘宝官方镜像源
  nj --------- https://registry.nodejitsu.com/ # 国外的官方镜像源
* h3npm ------ http://xxxxx/repository/npm-all/ # 公司内部官方镜像源(涵盖私有库)
  h3-authine - http://xxxxx/repository/npm-authine/ # 私有库源
目录
相关文章
|
9天前
|
JavaScript Linux iOS开发
详解如何实现自由切换Node.js版本
不同的项目中需要使用不同版本的 Node.js,有时旧项目需要旧版本,而新项目则可能依赖最新的 Node.js 版本
|
6月前
【Node】Mac多版本Node切换
【Node】Mac多版本Node切换
497 1
|
6月前
|
资源调度 jenkins 持续交付
jenkins 自动安装nodejs16.16.0版本报错处理
jenkins 自动安装nodejs16.16.0版本报错处理
754 0
|
2月前
|
JavaScript Linux 开发者
一个用于管理多个 Node.js 版本的安装和切换开源工具
【9月更文挑战第14天】nvm(Node Version Manager)是一个开源工具,用于便捷地管理多个 Node.js 版本。其特点包括:版本安装便捷,支持 LTS 和最新版本;版本切换简单,不影响开发流程;多平台支持,包括 Windows、macOS 和 Linux;社区活跃,持续更新。通过 nvm,开发者可以轻松安装、切换和管理不同项目的 Node.js 版本,提高开发效率。
|
1月前
|
JavaScript 算法 内存技术
如何降低node.js版本(nvm下载安装与使用)
如何降低node.js版本(nvm下载安装与使用)
|
2月前
|
缓存 资源调度
解决node升级到18版本node-sass安装问题
解决node升级到18版本node-sass安装问题
|
3月前
|
JavaScript 小程序 Java
【工具】用nvm管理nodejs版本切换,真香!
本文详细介绍了如何使用 nvm(node.js 版本管理工具)解决在不同项目间频繁切换 Node.js 版本的问题。通过实例展示了 A、B 两个项目分别依赖 v14.19.1 和 v16.15.0 版本时的解决方案,并提供了 nvm 的下载、安装及常用命令等实用信息,帮助读者轻松管理 Node.js 版本。文章还包括了卸载已安装的 Node.js、配置环境变量等步骤,确保切换顺畅无阻。
158 0
【工具】用nvm管理nodejs版本切换,真香!
|
3月前
|
缓存 JavaScript 前端开发
成功解决:npm 版本不支持node.js。【 npm v9.1.2 does not support Node.js v16.6.0.】
这篇文章介绍了如何解决npm版本与Node.js版本不兼容的问题,提供了查看当前npm和Node.js版本的步骤,以及如何根据Node.js版本选择合适的npm版本并进行升级的详细指导。
成功解决:npm 版本不支持node.js。【 npm v9.1.2 does not support Node.js v16.6.0.】
|
3月前
|
JavaScript
成功解决node、node-sass和sass-loader版本冲突问题、不需要降低node版本。如何在vue项目中安装node-sass,以及安装node-sass可能遇到的版本冲突问题
这篇文章介绍了在Vue项目中安装node-sass和sass-loader时遇到的版本冲突问题,并提供了解决这些问题的方法,包括在不降低node版本的情况下成功安装node-sass。
成功解决node、node-sass和sass-loader版本冲突问题、不需要降低node版本。如何在vue项目中安装node-sass,以及安装node-sass可能遇到的版本冲突问题
|
4月前
|
JavaScript NoSQL Serverless
函数计算产品使用问题之如何创建一个自定义运行时并指定Node.js版本
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。