设为首页收藏本站 国外访客:

 找回密码
 立即注册
搜索
查看: 10604

[教程/工具] 阿拉德-宝塔PM2添加项目报错-切换node不显示版本号解决办法

[复制链接]
灌水成绩
17705
95
18204
主题
帖子
积分

等级头衔

ID : 1

管理员

积分成就 威望 : 9
贡献 : 9
下载币 : 377
在线时间 : 1642 小时
注册时间 : 2013-9-5
最后登录 : 2026-6-7

发表于 2026-1-28 04:20:13 | 显示全部楼层 |阅读模式
免责
方法一:卸载宝塔安装的PM2管理器,尝试重新安装5.2版本、多试几次,或者重启服务器或宝塔再次进行安装!方法二:自己手动安装PM2  需要先安装npm8 _- }9 A5 A2 r# [0 q0 h
/ e- j9 f$ _4 E

8 Y; [8 l2 L9 V* ]& h8 z% [/ j) I/ ~' R# X; _
yum -y install npm
4 Y4 B" x) Q% ?0 m+ H# M
& `( o7 @8 f& B. Z& X2 a9 ]. i" Z5 J

9 t2 @% }: }1 {

' D6 c! v' M& a8 M) B+ N安装pm2- J! U/ R+ ]6 }1 N" |$ Z! z1 a

  T  V) x; W$ `4 ~# r( @1 q/ o: i$ E  b
( k- X7 a& L! r. l' S# {5 O: u6 g
npm install pm2 -g( D* p2 g% v8 Z3 J& O# Y- o

# s# m( V& T- t8 u  w% O$ i

5 h8 ^7 n: p# v/ K: t  l
- D4 l5 g: f  m, b7 R& h
添加配置文件9 a8 x2 f) |' S5 @: l. u/ f

: d' x- b+ q7 q; A6 P& I: ]6 Y# U, F$ b/ E
. v) d7 ?2 ^2 W; [7 d3 D
vim /etc/profile1 X! H# D! o* n

  y$ {+ T$ j1 E: v; Q. cPATH=$PATH:/usr/lib/node_modules/pm2/bin
. ]% B* R: m9 j8 Q6 J3 g2 y% T
! I. A& H: m3 v( s4 f
source /etc/profile2 G9 _+ F  H: `

! Q( t8 w' S) p* e) t" n& U+ J" D* j* e

( W( g$ x1 D' m# T2 f! Q9 r
- u) ?& s4 ^: w* b* ^! k* e
测试* @- q+ Q- L0 h* ?; W# p: ?" L
% \. |3 e5 f5 W- B
1 M, H7 Z9 M9 e& ^
' X4 Q! P9 i) l6 d; a& E9 `
pm2 -v
/ N* v7 b) N( a6 R; R- T' h

" Y  a/ O$ ]6 t) L% E$ S6 n% Z4 h

: C+ _* n! f" X  b( t
9 x: ^0 b6 p( |' q
查看PM2安装路径2 R0 Z$ P0 f5 z

1 R% X" A, Z' {  j; I! Y8 u+ V- j* D* n* k' k
, ?2 t, j9 G# _  X  }
find / -name "pm2"3 y2 u; q0 W: w7 ?0 q2 g- I" B' x/ a9 t

9 Q2 v2 Y9 ]# a, X+ ~5 q

2 u( W8 q' a4 y# k  u8 M
% F( @  \  G2 u5 t5 Y( O0 X7 W4 E
根据自己的安装路径修改配置文件
[color=var(--focus-color)][url=][/url]
可能遇到的问题
[color=var(--focus-color)][url=][/url]
问题原因
是node和npm版本太低,我这里版本分别是3.10和6.17
[color=var(--focus-color)][url=][/url]
解决办法–先卸载之前的npm5 o1 _' T  j8 k8 u/ l( f8 O
3 \  X0 A9 O; e# \& S  G
- u: }5 n" W1 `% W: P3 q

- D3 n- n  b8 H* y( c' I& knpm uninstall npm -g3 c. o. r7 i" g+ d! P

. r( k, j' {; `9 E" D6 {( Z

- n8 \; ]5 E; J, c1 s* _7 l( P
7 T* G- S) H4 b$ Z
安装依赖# ~0 f6 I- f! {
1 f, [7 G; w& }: _: M
4 |( t% X) n( d2 v

% `) S2 K' K. h' lyum -y install gcc gcc-c++
* K. F! G  q# ]5 }. B

9 e0 I. l. M- |6 _- {
1 V% D6 P- j# e2 A* d0 L
) e/ p0 n2 Y1 X3 q7 f1 z5 z5 u
下载高版本的node安装包
( _3 }) R! q5 }' Q1 y' G4 _  M. O3 h

$ I6 H  s9 X( _* S- O! ~- t
; U& h1 D: q+ e, Lwget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz2 e" z) O+ D$ O& e5 a2 A: O  Z( `

6 n- `  \9 P& W" z

  I  l9 ]) {* e9 X6 u4 e
1 E, G% k! o7 ^  G) E
解压到相应的目录" `5 }, G6 m1 ~9 m+ H4 R. _

2 U6 y  g: z& q! [: }, C/ h: d0 a$ @9 u8 T; U( |5 k3 r

0 D9 K  g) Q2 J5 X1 Jtar -xf node-v10.14.1-linux-x64.tar.gz9 _- k! l5 ~/ M7 \( y8 T
+ ?/ s( {+ V6 j8 ^1 _; G* o( V* g

( j" H2 |9 J8 J: ^$ |
7 _- |4 a6 ]7 N7 S/ S) K5 o; @
重命名
, F" ^6 Q0 }1 O! A9 {: a7 ^' L' C  ^$ b
5 q' P* t9 [, |1 A2 ]! w
$ s3 d# C9 D, [/ i! E
mv node-v10.14.1-linux-x64 node& }& E) }7 ~7 t  h. o

* t5 i: O/ u" F4 u) ]5 P$ P
. {, O, A. J3 [* \
6 O/ u; r  \( a. _5 a! H% s
添加环境变量(根据自己的路径添加)' J& \/ {0 t. `! D$ l
/ B& }5 w9 `/ \( D7 i
& F! R( V8 n$ `

5 s, b7 v& q0 z) ?* Wvim /etc/profile
3 E* d$ o. l) X8 U
# z5 R6 p( y( }
export NODE_HOME=/myinstall/npm/node9 D6 j! \9 S8 c- e+ {7 A9 [

6 O. U, a2 x3 x, n& cexport PATH=$NODE_HOME/bin:$PATH/ ?" T% z& E3 x1 S8 Q7 L( r

8 g' T0 _' v+ w) u1 q

* [0 \- s1 u! m9 p: X' I' a
8 B, q$ s0 W1 [% O
重新加载环境
4 [& K& t( @, [6 c9 n; F8 N% V7 P" I; @) i) Q
0 D1 ^& G9 b6 ]' ]6 ]% Q8 i% C
% v8 F- N4 D& v& h% d) O
source /etc/profile
2 e6 ^5 [  I. d) a

, H2 S5 D% \# H" Y7 o- B9 Q8 x
! p6 ^+ H. _$ R$ ], u0 ^

. _/ N- ~, V9 X查看相应版本
[color=var(--focus-color)][url=][/url]
安装pm2
+ o- p* n- a  t- A6 l
' d, G, u  S- R1 B
8 `2 `- \3 w$ Y6 e6 S4 H$ Z* G! W: j) f5 N$ z  ~
npm install pm2 -g1 u2 G! g* E& R) B8 [6 r
0 [* {3 ?9 S3 W6 {  Z
. ]# @8 n+ M1 R0 h7 P

( S1 P4 F( p" Q$ J检测+ M- H; U0 E8 e% d1 f+ [% z

  s# |: B  a" d1 U3 D$ a' R6 a0 r: h( w7 U3 a1 b
$ B" i, [1 t. D' q
pm2 list+ l& i& t" X( X  E3 c* j# G
+ m# g7 ?! G+ P" j- L- P: K3 e

) S% z  s# E# j- o6 E+ Z9 R6 s
( C& J( {0 N- V- H- Y
[color=var(--focus-color)][url=][/url]
常用命令
7 U7 b2 F- T- }- G, C
  L; y0 z& X+ }# G1 u0 U1 A
, D9 e: ]6 x- M: K# M5 R3 Q, n' U% I) J0 \7 ]3 _0 J+ b& i; b
$ pm2 start app.js                  # 启动app.js应用程序
2 b: u4 K/ O6 f

4 X- P. a& H% P) c3 f

3 L' O, d! x* T' n& V
  l; [5 ^9 ]& V

3 U, |" f( T/ G) Y/ m! m  T; s+ F& s, j! s1 @1 P& W" b
% K. }+ o/ X: V0 x6 G
! @; e# o7 a5 D- i
$ pm2 start app.js -i 4                # cluster mode 模式启动4个app.js的应用实例 # 4个应用程序会自动进行负载均衡
6 P) w  \& @, z

( V) Q4 W9 k1 a# }4 f" N' Y5 }

+ i8 {4 K/ |; G1 i  D) h9 A6 L4 }

# {3 J  Y; N/ P% n* H4 h/ @" }
- y2 b* G: J, K8 \/ H+ ?& r- b% ~8 r$ `. p& O3 Q8 d8 e; z' N

: T% I6 y& ^7 }- e. V' [' C& \7 I8 ^8 t* s# N2 k# ]1 h6 d+ B
$ pm2 start app.js --name="api"                # 启动应用程序并命名为 "api"' ~9 [1 L! j! M' H$ f! g2 f, B4 I
$ h& K: g+ O; b! I9 D2 z
  S$ G2 ]9 d! E! p" \! s( ?
" ?2 K/ {- ^) U4 y: l" H( a' L

! J& l+ G1 O- y3 g2 T9 o
$ W7 Y1 F- c8 _& d% X7 a
: r" x: E( {1 K. e& Y7 X
: ]9 P" A: S! F2 j: U; h# G$ pm2 start app.js --watch                # 当文件变化时自动重启应用* R: Z0 w, m3 B1 q  \" n* j

6 B+ q0 j1 d! U0 L( V7 a
  T  T- Z9 }# v$ H2 D  N
0 L# z+ R2 C# _8 v* v
+ D+ \5 ?2 l5 p( p3 T3 W

1 L% s% K: ~7 m0 \
; e; E* u" J, f
$ ^  o  [( E, K% M$ pm2 start script.sh                # 启动 bash 脚本7 _4 f. l3 J7 |4 h9 i: d- m

' W& M; N; ~7 a$ @( ]$ Q9 L

9 f) s' A& Z3 F7 }+ q  J

+ s! |" u" n! X4 d! R4 H. L$ q5 s$ c8 t0 f' Q
: W" }8 \, W6 D1 N
7 M; H* W/ Y- C7 @% m
1 `: \+ S% t; @/ b
$ pm2 list                # 列表 PM2 启动的所有的应用程序% k# R: X, g) T
' |6 {% G* o* @5 {1 c
& {# Q' f. s, p' r
' h& `1 a- l' i
2 ~" F& ^( X. e- M3 b2 C

& \+ c+ l) Z& s, D- Y+ g0 ~
# N( j2 x7 S+ _  `8 F8 u$ X$ n( q) t0 O8 E) b3 M' s
$ pm2 monit                # 显示每个应用程序的CPU和内存占用情况
% p: S" F$ G; _4 j3 \# {
+ a7 J, y2 q2 f$ V- A9 w
% O  ^9 b& Q; j' `
# [$ v; x/ E& T* J. o% e

  y8 }/ }5 J4 k# D+ V6 Z# e' a" Z0 Q7 o
: D* ?- ~. L( i4 Z# C

) E  z3 q0 n  W3 y3 F4 n! V- Q, [$ pm2 show [app-name]                # 显示应用程序的所有信息5 X5 \( U3 b& V. x# c( x, a

0 ?, D9 `% a5 F, L. u+ p# H

, K) e- V6 \' ~# g

: o0 l  ]6 o% B) x- G
7 D1 z8 }- q1 D
! r/ S$ p9 _6 V3 Z! r1 `( W
) u2 m3 X* W. j; p4 E3 O1 M1 \5 [1 s8 f8 X
$ pm2 logs                # 显示所有的应用程序的日志
, Z* T% s/ J  f& Y( y- J! {; S
1 H$ q2 |# J& ^
/ p  w, f$ w9 X

- n5 o1 M+ e' _% o+ D  W/ k0 R; \
8 [  W5 _+ _) X/ h8 c
% f$ c6 B" ]3 ?5 D1 r
/ W* P% ]  V: E. H; l' N  @* ?1 P6 o& k+ Z% _7 w
$ pm2 logs [app-name]                # 显示指定应用程序的日志, ^2 M1 j) Q& L5 p9 L6 c

0 ]1 Q/ O" H' k0 d+ _( k$ i+ _3 a

) G5 ?1 T: X9 {+ V/ \( t- ~
! V5 Z4 v) ~3 h4 h/ |( l
. e' J3 n1 N# U' O

8 n5 k! y% u% l# q. Y& Y: {* Y- o7 Z' }8 Z$ x

1 m# `% ?! t0 j4 W$ pm2 flush
" h( l/ Z: ~$ w
6 d0 s# g* |5 s7 g' }
$ x1 I& J( {6 F8 F3 J
, L7 A/ e4 Z$ Y; |4 ?. t
9 W6 t, U% a- h6 d$ z, W* f$ O

+ J5 s% ^- }( \. d" U
3 O- q% X$ f7 B4 X$ N8 V
/ G/ \; S: ^2 S6 C- R9 r2 x$ pm2 stop all                # 停止所有的应用程序
1 C. E% |9 g6 |. g

/ Y( h# s; V4 ~3 X( I& {
$ g+ q0 `$ o. G2 y3 H- H9 ]+ S

3 f! J6 r' \6 ?9 r  x( {. ]: L& i

/ d, T" C  H! w) K# |! Y9 J+ k4 \2 G
3 @1 Q# L1 w! z# D- o8 y- a1 j2 j: M7 Y1 y( o" C' \
$ pm2 stop 0                # 停止 id 为 0 的指定应用程序: q* h  G, A# E( {- y

/ f( ]$ H$ |1 w6 L
' u. C5 E) j9 y3 j6 J' D
1 ~8 p0 c! T. Y1 X1 s5 ~+ C
  Y8 z+ C- q2 X* I/ k) n7 A- Z
9 k) ~  W" e! Q3 }

- O4 W: V1 ?0 r. q: s" G; I  Q) P$ ]* w; \! L/ O
$ pm2 restart all                # 重启所有应用
3 l3 f7 P3 F, z
2 y6 c; U$ m7 A

5 B& ?. w- p" x/ `; d" H! y* b
+ L) B5 u" c& i; k. {

2 K! C4 A- j1 Q) s( s* R* |7 X, t# |+ \
  R; ]2 t$ `, d. A7 k5 Z. \, b* E
  y0 y3 M1 e0 k
$ pm2 reload all                # 重启 cluster mode 下的所有应用
2 H+ \! @$ }, D9 ?3 |5 L0 T, U

/ \. k; {( D  P. {7 a! P4 a
: i- E0 O1 ^- O& V" n4 Z7 G, G, Q
' z2 N, u* U: u# L! ]
- p+ }8 |" f( N

/ x; k+ s* O8 |- ~8 P( H, j3 h3 [" i
# Y. k5 Y7 t# D9 c4 u
$ pm2 gracefulReload all                # Graceful reload all apps in cluster mode
; [3 b% Z, c0 F5 j* Y+ \+ ]
! m8 u3 d6 `% O  ~( {
2 v  E) @: ?6 ?8 t/ P- M
4 D& e- i1 b# w% W( \* z$ K
* m' {$ K1 W7 q" M# ?
8 ?1 E# Q6 D$ M

( b/ K7 u) U3 ^- f+ u9 Y' @1 i& _) H( ^" M
$ pm2 delete all                # 关闭并删除所有应用4 ?( A9 k$ ~. l2 v
. A5 l3 z2 ^: P$ C& o% g! y- W
* N6 z: I" I/ P4 E$ C' _& @

2 m8 ~$ f& F% B1 B7 O6 z8 E$ _' X( R( E/ b) r0 k9 x
  }# r) ^4 T4 B( e7 S

& u  C: c* F8 P" ~% m( d  c4 a
6 i% {4 J4 Z* w2 R& S- @( J) f$ pm2 delete 0                # 删除指定应用 id 0
6 ~% y2 Y' |- x& J! y" k% W7 S9 ]

1 V. X5 E3 w" L- s4 f' d$ j
- i1 F# e7 Y4 G- ?) |: I# z

) x- H- z5 H  O: H( b! }
" U- b  ]8 T, ]1 q* \4 W
! D1 {/ g, a# U9 W! T+ h/ x# t' M8 g3 T; d0 E) S3 i4 M9 N( Y

4 }2 j6 w# F/ k$ pm2 scale api 10                # 把名字叫api的应用扩展到10个实例
, w# I4 n+ V8 J  D

0 s- S) A4 n5 {; r9 y! {+ a$ u0 Z

* X. J. H" L: a7 e3 F" i

7 t. Q" T: i6 J" ?
7 W$ U6 ^, G% B9 L
; i; o1 E% a- I7 i% g0 |- q& O/ _$ t4 _8 ?6 F
* r& g! z. \/ i5 W* d' @  H
$ pm2 reset [app-name]                # 重置重启数量
" j! b$ i7 c9 _1 ^* L! w
# n0 P; J. {6 K- ^8 n, s
. L% w% q- t6 ~  ^) T
  ^' y$ N- t% }' q. i8 F
) Y3 I6 v" P1 _  i. ]. e

) {; o$ w4 l7 w5 o( A2 ~; l0 j: N3 e/ [- V) }6 l! \* S& K5 i
! c# r5 z$ H( ?" n" J- t/ D
$ pm2 startup                # 创建开机自启动命令
9 v+ @  _# W  p+ B% s

7 s$ P3 z  F/ Z* H( W; i8 a$ g

; O. [% F' e1 |( \# f' H1 C

, j7 d) ?4 C! Q7 O' ], ^  d4 Y' H1 k1 W4 O( i/ X: f

2 S% n: l$ O4 V  ^! X- M  [# G! f. a3 y! G" x3 f

# m- l% w8 h! V) p4 ^# X$ pm2 save                # 保存当前应用列表. t) ~# ?+ `6 c  q+ o
0 x% n( Z( E' j- Q9 R) _, j

4 @2 G! D3 a1 D, ^- I) M" {6 }0 a

+ R6 |  N4 H7 p9 j( D# V5 z# a/ O. T" o/ T! C
; @1 A: F8 F6 D
" l9 D) v" `5 b+ w4 _

6 {: ]. ~# P, @- b) Y$ pm2 resurrect                # 重新加载保存的应用列表9 }+ H% J, W  R* m& ^( N" c
, q% _! ~" \+ w! j: O% f

4 M+ y! e6 P) o$ A' l+ S; c+ y

; z' I8 W2 B1 v' [2 E* o  v9 C0 x" j; D: w  N# t
2 R3 Z, }# E; e" U5 I4 E$ I
. E! Y. V2 j+ ~6 i" T* O3 m

8 j, O. J* ^0 Y9 U. e' I1 T$ pm2 update                # Save processes, kill PM2 and restore processes5 q# T# n% F* m" q. T! N& [

9 E$ D, k5 u% e9 t  E: k

3 G8 N# L- R) l% ?
- h; `! e& s- Q$ k
" }2 G; l  j" Y5 q

9 f( Q0 b* z- F! p4 g! e$ l7 `3 Z8 R* k7 A
0 |0 K0 Q, Y. a* |: ~$ a
$ pm2 generate                # Generate a sample json configuration file
1 |/ M3 N3 \4 P
  C9 b3 }" ?" t, d3 e' G
' z5 n& \- {" F$ V: T) G

8 s$ G$ M1 m) n9 S( x
举例:
7 L6 E0 u' U1 H阿拉德的脚本启动方法
0 @) F# @# p' q# e

9 U* b# F' S3 C' M* K" v, c$ b. `: d  w
8 r6 N$ ~! ^3 W  U5 P! ?  X
cd /www/wwwroot/gmald/src/ a4 f* n$ |' C, W

( q1 N! x7 L8 L8 {* q

" V% C. O! l) k. r5 w

9 ], E& u5 A; o, g# Z, n, p7 f$ d6 @$ _  ^" g0 F
2 y% |7 `- H4 L" f7 J  m
. o  @( |& o4 t* ?
2 v; m. A/ d  @8 |. f% F) A6 I
pm2 start app.js( i0 M8 }4 c# j9 g

& {1 y+ u) ~/ ~4 u! A. a

' C2 t& E6 u' n
8 a9 R8 v4 G+ Y6 @2 X. E

+ @) v' j8 S: w3 y+ c
免责
帖子地址打造全网最多免费游戏网站
今日来客 列表模式
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|蔡州手游 |网站地图 wapmz.com

GMT+8, 2026-6-7 12:30