一、起因
在CentOS中使用yum install npm
安装npm后,再安装pm2时,运行pm2 -v
出错
[root@zngw ~]# pm2 -v
/usr/lib/node_modules/pm2/node_modules/chalk/source/index.js:103
...styles,
^^^
SyntaxError: Unexpected token ...
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:549:28)
at Object.Module._extensions..js (module.js:586:10)
at Module.load (module.js:494:32)
at tryModuleLoad (module.js:453:12)
at Function.Module._load (module.js:445:3)
at Module.require (module.js:504:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/usr/lib/node_modules/pm2/constants.js:10:14)
二、分析
这是因为npm版本过低导致的,用的是阿里云的更新源,这个版本中的npm版本是3.10.10
,node版本是v6.17.1
。node版本更新到v10及以上版本就可以了。
三、解决办法
1、卸载npm
npm uninstall npm -g
2、安装gcc
yum install gcc gcc-c++
3、下载node安装包
mkdir -p /home/npm
cd /home/npm
wget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz
4、解压
tar -xvf node-v10.14.1-linux-x64.tar.gz
mv node-v10.14.1-linux-x64 node
5、添加环境变量
vi /etc/profile
# 在最后添加
export NODE_HOME=/home/npm/node
export PATH=$NODE_HOME/bin:$PATH
/home/npm/node
为前面node解压的目录
6、刷新
source /etc/profile
查看
[root@zngw ~]# node -v
v10.14.1
[root@zngw ~]# npm -v
6.4.1
7、安装pm2
npm install -g pm2
8、测试
[root@zngw ~]# pm2 -v
5.1.1