NVM节点版本管理工具

 2024-01-12 02:00:40  阅读 0

前言:我们在日常开发中经常会遇到这样的情况:我们手头有几个项目,每个项目都有不同的需求,不同的项目必须依赖不同版本的运行环境。 如果没有合适的工具,这个问题可能会非常困难。

nvm应运而生。 nvm是Mac下的节点管理工具。 它有点类似于管理Ruby的rvm。 如果需要管理节点,官方推荐使用nvmw或nvm-。 然而,nvm-并不是nvm的简单移植,它们也没有任何关联。 但下面介绍的所有命令都可以在nvm-中运行。

nvm和n的区别

另一个节点版本管理工具是TJ的n命令。 n命令作为node模块存在,而nvm是独立于node/npm的外部shell脚本,因此n命令比nvm受到更多限制。

由于npm安装的模块路径都是/usr/local/lib/,所以当使用n切换不同的node版本时,实际上会共享全局的node/npm目录。 因此不能很好地满足“根据不同的节点版本使用不同的全局节点模块”的需求。

卸载全局安装的node/npm

从官网下载的node安装包运行后会自动安装在目录下。 在使用过程中经常会遇到一些权限问题,因此建议按照以下方法卸载全局安装的node/npm。

首先,打开你,按shift++G,打开文件夹窗口,进入以下目录并删除节点及相关文件和文件夹:

您可能还需要在终端中输入一些其他命令:

sudo rm /usr/local/bin/npm
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm /opt/local/bin/node
sudo rm /opt/local/include/node
sudo rm -rf /opt/local/lib/node_modules

安装

第一件也是最重要的一点是:一定要卸载已安装的,否则会发生冲突。 然后下载nvm-最新的安装包,直接安装。

OS X/Linux 安装

不同的是,我们不一定要先卸载原来的。 当然,我们建议最好先卸载它。 此外,你还需要一个C++编译器。 一般来说,您无需担心 Linux 发行版。 您可以直接使用构建套件。 对于 OS X,您可以使用 X-Code 命令行工具。 只需运行这个命令:

xcode-select --install

在 Linux 中:(如果发行版)

sudo apt-get install build-essential

然后我们可以使用

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash

或者

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash

远程下载.sh脚本并执行。 注意,版本号v0.33.0会随着项目的发展而变化。 通过官方最新安装命令始终检查最新安装的版本是有好处的。

安装多个版本的node/npm

例如,如果我们要安装4.2.2版本,我们可以使用以下命令:

nvm install 4.2.2

nvm 遵循语义版本命名规则。 例如,如果你想安装4.2系列的最新版本,你可以运行:

nvm install 4.2

nvm 将寻找 4.2.x 中的最高版本进行安装。

您可以使用以下命令列出远程服务器上的所有可用版本:

nvm ls-remote

换句话说,就是:

nvm ls available

版本之间切换

每当我们安装新版本的 Node 时,全局环境都会自动将此新版本设置为默认版本。

nvm 提供 nvm use 命令。 该命令的用法与命令类似。

例如切换到4.2.2:

nvm use 4.2.2

切换到最新的4.2.x:

nvm use 4.2

切换到iojs:

nvm use iojs-v3.2.0

切换到最新版本:

nvm use node

每次执行切换时,系统都会将该节点的可执行文件链接到该文件的特定版本。

我们还可以使用 nvm 为不同版本号设置别名:

nvm alias awesome-version 4.2.2

我们给版本号4.2.2起了个名字-,然后我们就可以运行:

nvm use awesome-version

以下命令可以取消别名:

nvm unalias awesome-version

此外,您可以设置此特殊别名:

nvm alias default node

列出已安装的实例

nvm ls

上面绿色箭头是当前使用的版本,下面列出了已经设置的别名。

在项目中使用不同版本的 Node

我们可以通过在项目目录中创建 .nvmrc 文件来指定要使用的 Node 版本。 然后在项目目录下执行nvm use。 .nvmrc 文件的内容只需要符合上面提到的语义版本控制规则。 还有一个名为 avn 的工具可以自动化此过程。

如何在多环境下使用npm?

每个版本的 Node 都附带不同版本的 npm。 您可以使用 npm -v 查看 npm 版本。 全局安装的 npm 包不会在不同的 Node 环境之间共享,因为这会导致兼容性问题。 分别放在不同版本的目录下,如~/.nvm//node//lib/。 这正好节省了我们在Linux中使用sudo的精力。 由于这是用户的主文件夹,因此不会导致权限问题。

但问题是,我们是否必须重新安装已经安装的npm包呢? 幸运的是,我们有办法解决我们的问题。 运行以下命令从特定版本的 Node 导入到我们将安装的新版本的 Node:

nvm install v5.0.0 --reinstall-packages-from=4.2

其他命令

直接运行特定版本的 Node

nvm run 4.2.2 --version

在当前终端的子进程中运行特定版本的 Node

nvm exec 4.2.2 node --version

确认某个版本Node的路径

nvm which 4.2.2

安装 Node 的其他实现,例如 iojs(基于 ES6 的 Node 实现,现已与 Node 合并)

nvm install iojs-v3.2.0

列出所有可以安装的节点版本号

nvm ls-:

快速命令:

标签: 版本 全局 卸载

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码