用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