CentOS下使用NVM

时间:2023-03-08 16:54:28
CentOS下使用NVM

查看CentOS版本


# rpm -q centos-release
centos-release-6-8.el6.centos.12.3.x86_64

安装epel源


32位系统选择:

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

64位系统选择:

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

导入key:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-5

查看rpm是否安装成功:

[root@Zhaoqize 15:21 ~]
# rpm --version
RPM version 4.8.0

yum安装nodejs


# yum install nodejs -y

cnpm --version失败


自然而然的想安装cnpm,结果发现cnpm安装成功,但是调用命令失败。

/usr/lib/node_modules/cnpm/bin/cnpm:5
const debug = require('debug')('cnpm');
^^^^^
SyntaxError: Use of const in strict mode.
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:945:3

通过谷歌得知是nodejs的版本太低。

卸载nodejs


于是现在我们需要卸载nodejs

# yum remove nodejs -y

NVM


重磅推出NVM

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
Close and reopen your terminal to start using nvm

安装成功后:一定要重新启动shell

查看是否安装成功:

command -v nvm

查看nvm可安装版本

# nvm ls-remote

安装nodejs


# nvm install v4.6.0
Downloading https://nodejs.org/dist/v4.6.0/node-v4.6.0-linux-x64.tar.xz...
######################################################################## 100.0%
WARNING: checksums are currently disabled for node.js v4.0 and later
Now using node v4.6.0 (npm v2.15.9)

小插曲:一开始安装的4.4.5可以到了93.6%一直不动了。

# nvm install v4.4.5
Downloading https://nodejs.org/dist/v4.4.5/node-v4.4.5-linux-x64.tar.xz...
################################################################### 93.6%^C

于是选择了4.6.0就Ok了。

查看cnpm也Ok了。

[root@Zhaoqize 15:27 ~]
# node --version
v4.6.0 [root@Zhaoqize 15:27 ~]
# cnpm --version
4.4.2

所以还是推荐使用nvm来管理node版本问题,不然很头疼。

重要问题


使用nvm管理node包的时候,当你重新启动shell。会发现所有的命令消失了。再也不能使用node --version等命令。

你就会奇怪,我之前不是已经安装并且执行node相关命令成功了么?为什么再次使用的时候确不行了?

那是因为我们通过curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash方式安装命令的时候,重新启动shell。并没有启动相关的nvm命令。

多亏了勇哥,帮我搞定了。

这里有两种方法:

使用node之前,先use.

nvm use node

这样即可。具体参见:NVM

第二种就是加入.bashrc,初始化的时候启动即可。