用node运行Mediawiki中的相关服务(restbase、parsoid、mathoid等)时不时就冒个安装错误或者是运行错误,很大程度上就是跟node的版本有关,之前吃过这方面的亏,这次又是一样花了大量时间来进行排查。
为了能够方便地在不同版本中切换,我们就需要用到NVM这个管理工具。

安装NVM

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

或者是

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

通常情况,NVM将所有文件保存在$HOME/.nvm目录下,并在.bashrc文件中设置环境。加载此环境以设置所需的配置可以用以下命令:

source ~/.bashrc

接下去查看以下nvm的版本

nvm --version

如果有对应的版本号则表示安装成功。
当然,我们有时可能需要将nvm安装在其他位置,那么可以先新建需要安装的目录:

mkdir /usr/local/nvm

然后在安装命令中加入路径参数:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | NVM_DIR=/usr/local/nvm bash

或者是

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | NVM_DIR=/usr/local/nvm bash

好了,这次NVM已经被安装在了/usr/local/nvm目录下了。

卸载NVM

其实只要删除NVM和npm的安装目录就可以

rm -rf ~/.nvm
rm -rf ~/.npm

另外,记得要把~/.bashrc中的配置内容删除,否则以后重新安装(尤其是更换目录)后可能会跟你预想的不一样(比如希望安装在指定位置却还是安装在root目录下)。

使用 NVM 安装 Node.js

通过下面的命令可以查看能够安装的所有Node版本:

nvm ls-remote

从显示的列表中选择你想要安装的具体版本,如:

nvm install 12.19.1

它还为最新的稳定节点版本、LTS 版本和其他以前的 LTS 版本提供了别名。

nvm install node        ##安装最新的稳定版本 
nvm install lts/*       ##安装最新的lts版本 

注意:默认情况下,通过NVM安装的Node仍然位于root目录下(即便是你将NVM安装于其他位置),所以在使用时只有root才有权限,其他用户可能会因为权限的问题而导致使用错误(参见《为MediaWiki安装Math扩展》一文中的restbase服务安装过程无法启动服务的问题)。

使用 NVM

通过以下命令可以为当前用户列出已安装的Node版本:

nvm ls

从已安装的版本中选择一个供用户使用:

nvm use 12.18.3

要查找为当前用户设置的默认Node版本,请输入:

nvm run default --version

使用以下命令使用所需版本的node.js运行Node脚本:

nvm exec 12.18.3 server.j

使用NVM卸载特定版本

通过运行以下命令删除任何未使用的版本(只需确保要删除的版本不是当前的活动版本)。
如要删除Node.js 5.8.0,请输入:

nvm uninstall 5.8.0

参考文档

How To Install NVM on CentOS/RHEL 7
在linux上为所用用户安装 NVM
https://www.jianshu.com/p/105cf9ff5a87

最后修改:2021 年 06 月 09 日
如果觉得我的文章对你有用,请随意赞赏