#8 NVM 简易入门

nvm是一个node的版本管理工具,使用这个组件可以在一个系统上安装多个不同版本的node,这极大方便了程序开发时的调试工作。

安装 NVM

安装 curl 并执行 nvm 安装脚本

 sudo apt install curl
 curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash   

安装 Node.js

安装最新版本的 Node.js

 nvm install node # "node"是最新版的一个别名

安装最新的 LTS 版 Node.js

 nvm install --lts 

需要安装指定的LTS版本,可以在 --lts=<LTS name> 加上代号。carbon 为v8最新,dubnium 为v10最新,erbium 为v12最新,fermium为v14最新。

安装指定版本的 Node.js

 nvm install 13.14.0

卸载指定版本的 node.js

最后安装的版本将被设置为默认版本

NVM 常用命令

列出已安装的所有 node.js 版本

列出可安装的所有 node.js 版本

切换到指定版本的 node.js

查看当前默认的 node.js 版本

升级当前的 node.js 的 npm 到最新版本

导入指定版本的 npm 包到当前版本的 node.js 中

指定 node.js 版本来运行某个 node 脚本

.nvmrc 使用方法

在同一台服务器,用不同的 node.js 版本运行不同的 node 脚本,是否可行? 答案是肯定的,首先,我们需要在各个应用系统的根目录下生成一个.nvmrc 文件,注明版本号 然后利用 nvm run <系统启动文件> 的方式运行脚本即可。

假设我们当前的 node.js 版本为 最新版

执行如下命令,写入 lts/* 到当前目录下的 .nvmrc 文件。

新建一个 app.js 文档,输入如下内容

运行 app.js

.nvmrc用来控制运行版本,用nvm run来启动脚本,便可以方便的完成一个服务器运行多个不同 node 版本的应用系统。

为了自动化完成上述切换操作,我们可以借助一个叫 avn 的工具。

NVM 和 N 的区别

还有一个叫 n 的工具,同样是 node 的版本管理工具。 主要区别在于,n 是作为 node 模块而存在的, nvm 是一个 shell 脚本,独立于node 和 npm ,n 使用简便,但会造成切换版本不彻底。

NVM 小知识

由于 nvm 安装的 node 以及 npm 都是高度独立的版本。切换的时候的确方便了,但也意味着我们安装过的 npm 包都得重新再装一次? 不,我们可以通过如下命令,导入特定的node 版本下的 node_modules 到新安装的 node 版本下。

安装最新版的 LTS ,并导入当前的 node_modules 包

引用

Node Version Manager https://github.com/creationix/nvm

n – Interactively Manage Your Node.js Versions https://github.com/tj/n

最終更新

役に立ちましたか?