小程序上线过程中,pm2安装成功了,但是运行pm2命令只打印一句话
root@iZm5e3iekfi2krh6udbikaZ:~/.pm2# pm2 -v
[PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
查看pm2日志,里面报错
root@iZm5e3iekfi2krh6udbikaZ:~/.pm2# vim pm2.log
报错内容
SyntaxError: Unexpected token ...
at createScript (vm.js:74:10)
at Object.runInThisContext (vm.js:116:10)
at Module._compile (module.js:533:28)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/root/node-v8.2.1-linux-x64/lib/node_modules/pm2/node_modules/picomatch/index.js:3:18)
出现报错的原因主要是nodejs版本太低了
我们来更新nodejs的版本
我们云服务器是Ubuntu系统,通过apt-get安装即可
//下载nodejs安装文件node-v10.13.0-linux-x64.tar.xz
~$ wget https://npm.taobao.org/mirrors/node/v10.13.0/node-v10.13.0-linux-x64.tar.xz
//解压下载的文件
~$ tar -xvf node-v10.13.0-linux-x64.tar.xz
//测试是否安装成功
~$ cd node-v10.13.0-linux-x64/bin && ls
node npm npx
//符号./的意思是当前文件夹下,现在 node 和 npm 还不能全局使用
~/node-v10.13.0-linux-x64/bin$ ./node -v
v10.13.0
输入pwd查看当前目录,记住这个目录,我们下面要用
~/node-v10.13.0-linux-x64/bin$ pwd
//查到的目录如下
/root/node-v10.13.0-linux-x64/bin
现在npm、node只能在我们刚刚安装的node-v10.13.0-linux-x64/bin文件夹下面使用,我们在Ubuntu中设置环境变量,从而可以全局使用node、npm
//回到~目录
~/node-v10.13.0-linux-x64/bin$ cd ~
//打开.bashrc文件夹
~$ vim .bashrc
vim是一个文本编辑器,输入i,进入编辑状态,添加下面语句
其中/root/node-v10.13.0-linux-x64/bin/是【(2)查看当前目录】中查出来的目录,替换成你自己查到的目录
export PATH=/root/node-v10.13.0-linux-x64/bin/:$PATH
编辑完成后,按esc键退出编辑状态,再输入:wq保存并退出文件
~$ source .bashrc
~$ node -v
v10.13.0
~$ npm -v
6.4.1
root@iZm5e3iekfi2krh6udbikaZ:~# pm2 -v
[PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
[PM2] PM2 Successfully daemonized
4.1.2
现在可以了,打印出了Successfully的信息