如何使用 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
我使用 nvm
管理我的 Node 安装。我在之前安装的 node 中全局安装了 grunt-cli
模块。这允许我在终端中 运行 命令 grunt
on。
当我安装新版本的 Node (5.7.1) 时,每当我尝试执行 grunt
命令时都会出现此错误:
zsh: command not found: grunt
我发现 grunt-cli
包没有为新版本的 Node 安装。
我可以再次安装 grunt-cli
包,但我更愿意在使用 nvm
.
在使用 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