如何使用 nvm 在节点安装之间复制全局模块?

How do I copy global modules between Node installations using nvm?

我使用 nvm 管理我的 Node 安装。我在之前安装的 node 中全局安装了 grunt-cli 模块。这允许我在终端中 运行 命令 grunt on。

当我安装新版本的 Node (5.7.1) 时,每当我尝试执行 grunt 命令时都会出现此错误:

zsh: command not found: grunt

我发现 grunt-cli 包没有为新版本的 Node 安装。

我可以再次安装 grunt-cli 包,但我更愿意在使用 nvm.

安装新版本的 Node 时自动执行此操作

在使用 nvm 时,是否有一些方法可以从以前版本的 Node 安装所有全局模块?

这可以在执行 nvm install 时使用 --reinstall-packages-from 选项来实现。来自 nvm documentation:

If you want to install a new version of Node.js and migrate npm packages from a previous version:

nvm install node --reinstall-packages-from=node

This will first use "nvm version node" to identify the current version you're migrating packages from. Then it resolves the new version to install from the remote server and installs it. Lastly, it runs "nvm reinstall-packages" to reinstall the npm packages from your prior version of Node to the new one.

如果你之前的Node版本是4.3.0,命令会这样执行:

nvm install v5.7.1 --reinstall-packages-from=4.3.0