解决unbuntu系统,运行pm2没有root权限问题
Posted hsdying
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决unbuntu系统,运行pm2没有root权限问题相关的知识,希望对你有一定的参考价值。
先切换到root用户
su root
输入密码
然后用npm 安装pm2,
这时发现运行PM2,找不到命令,
1:安装pm2
操作描述:
你要在linux上安装pm2有很多方法,但我是用node的工具npm来完成安装的,所以在安装pm2之前需要先安装node。这里如果不会,就百度一个安装node,这个小事我就不做了,如果不服,你可以.加.技术群来骂我:458633781,作为男人要有亮剑精神,决不怂。
正题:
在你的任意目录输入命令: npm install pm2 -g
[root@VM_165_102_centos /]# npm install pm2 -g
回车后...
-
/usr/local/node-v8.9.3-linux-x64/bin/pm2 -> /usr/local/node-v8.9.3-linux-x64/lib/node_modules/pm2/bin/pm2
-
/usr/local/node-v8.9.3-linux-x64/bin/pm2-dev -> /usr/local/node-v8.9.3-linux-x64/lib/node_modules/pm2/bin/pm2-v
-
/usr/local/node-v8.9.3-linux-x64/bin/pm2-docker -> /usr/local/node-v8.9.3-linux-x64/lib/node_modules/pm2/bin/p-docker
-
/usr/local/node-v8.9.3-linux-x64/bin/pm2-runtime -> /usr/local/node-v8.9.3-linux-x64/lib/node_modules/pm2/bin/2-runtime
-
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.3 (node_modules/pm2/node_modules/fsevents):
-
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","ch":"any"} (current: {"os":"linux","arch":"x64"})
-
-
+ pm2@2.10.2
-
added 221 packages from 206 contributors in 29.63s
有几个warn不管他,因为在代码界,warn不算什么,只要没有error。
这样安装完成后你执行命令: pm2 list
[root@VM_165_102_centos /]# pm2 list
回车后:
-bash: pm2: command not found
说明,没有配制到全局,虽然安装到全局,不知道为毛,linux下不像windows下能自动创造一个环境变量去实现我们的全局。所以我们需要创建一个linux下的软连接。
2:创建软连接
操作描述:在linux上的设置软连接相当于是windows下的配制环境变量一个道理,只是这里用了命令完成的操作。这里我们就开始为pm2创建软连接,这里首先要明确的是,我们要知道谁和谁去连接,问题来了?知道是哪个和哪个连接吗?好了,答案是:我们的linux下的全局$PATH和我们pm2的安装路径。那么我们如何知道他们的路径分别是哪里呢?
a:找到全局环境PATH路径
输入命令: echo $PATH
[root@VM_165_102_centos /]# echo $PATH
回车后...
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
说明,也话你的路径和我的不一样,但没关系,你可以选择任何一个以:隔开的路径做为系统环境路径,我通常会选/usr/local/bin
b:找到pm2的安装路径
通常我们在安装pm2的时间会有一个安装路径显示,如下代码
于是,这就是你的pm2的安装路径为:/usr/local/node-v8.9.3-linux-x64/bin/pm2
也许会有不一样,但你可以在这里看到。如果不行,可以用whereis 或find 命令去查找。
好了都找到了,就重要的一步要开始了,睁大你的双眼。
命令为: ln -s /usr/local/node-v8.9.3-linux-x64/bin/pm2 /usr/local/bin/
[root@VM_165_102_centos /]# ln -s /usr/local/node-v8.9.3-linux-x64/bin/pm2 /usr/local/bin/
OK,搞定,接下来验证一把...
命令为:[root@VM_165_102_centos /]# pm2 list
[root@VM_165_102_centos /]# pm2 list
以上是关于解决unbuntu系统,运行pm2没有root权限问题的主要内容,如果未能解决你的问题,请参考以下文章
/root/start.sh:第 5 行:/usr/bin/pm2:没有这样的文件或目录 - Docker 容器正在重新启动