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

 找回密码
 立即注册
搜索
查看: 7280|回复: 0

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

[复制链接]
  • 打卡等级:暂无等级
  • 打卡总天数:316
  • 打卡月天数:26
  • 打卡总奖励:255
  • 最近打卡:2026-04-26 00:39:47
灌水成绩
17505
88
17992
主题
帖子
积分

等级头衔

ID : 1

管理员

积分成就 威望 : 9
贡献 : 9
下载币 : 372
在线时间 : 1506 小时
注册时间 : 2013-9-5
最后登录 : 2026-4-26

发表于 2026-1-28 04:20:13 | 显示全部楼层 |阅读模式
免责
方法一:卸载宝塔安装的PM2管理器,尝试重新安装5.2版本、多试几次,或者重启服务器或宝塔再次进行安装!方法二:自己手动安装PM2  需要先安装npm; Y1 q2 B. V6 ^4 m1 P6 Z: l9 X
6 `; M! T; \% q, f

  B( p8 C# ~3 V$ l/ f$ F& D% n' K' M1 b
yum -y install npm% w' n$ r# m6 ?; Z7 v$ g/ G/ R: o( F

9 h2 ]2 S0 B4 g# Y. v+ T, W
) }4 ^2 a, q1 \9 N2 ~
5 T6 y4 P6 g5 w* [; k
安装pm2' C2 Q4 u' n$ u" @* ?  \
2 B+ d9 O! _# h) s5 T

6 b/ x, a0 s# H- {/ k6 V1 B$ I6 g1 X
npm install pm2 -g) b/ s! X% R/ @0 v1 t
; P: E. D0 e' E% `: A0 m
( T  W! |6 G0 `% i+ z# A
8 l* G8 J6 G, f( }; Y6 s8 r
添加配置文件2 Q( Y# d/ R7 s0 u' c
2 o; G( N/ b6 S3 O
; b; I/ G& I0 c$ Q

$ w& _1 N9 z6 e7 Q9 k4 hvim /etc/profile+ O9 p7 k- M% r: u4 c
) {9 h* y; n9 \6 m9 h
PATH=$PATH:/usr/lib/node_modules/pm2/bin" A/ M. n/ k( v2 r* {

; u3 c& N% i, Y9 nsource /etc/profile' O3 V9 P$ q% p4 ^# h+ m

! }1 q6 s+ ^% v# o$ m# g8 N/ d

1 X) c# J" k- u4 u

: S/ S  r: I! m& d测试
/ m& j. R1 Z8 u# V8 k% V
  M% h- `; f; y& p0 D" T0 e! l& H" f# `& U

& p' e; N# @/ H( a1 F" [* [pm2 -v
  z6 K4 I0 Q8 u+ o
- c/ q, R8 k) E/ u

8 j, T+ U/ x8 ]& l

. ]) ?5 Z5 {+ p' c  f3 _# S. ?; b8 }查看PM2安装路径
4 _9 y2 S$ |' Y! U
0 E( {2 s& ^2 @# ~9 w+ @" e0 h' L" Y: V% v5 p8 ^
5 Z( }% x4 E+ a3 R# ^% r; J6 T
find / -name "pm2"
  C2 `$ s( n7 u: R

% C9 D  q/ _& \2 z$ L

! ]+ U: s$ O8 q* ~0 P: P5 L
5 _8 }9 L% }; c* v
根据自己的安装路径修改配置文件
[color=var(--focus-color)][url=][/url]
可能遇到的问题
[color=var(--focus-color)][url=][/url]
问题原因
是node和npm版本太低,我这里版本分别是3.10和6.17
[color=var(--focus-color)][url=][/url]
解决办法–先卸载之前的npm
4 V! l0 M: C9 H) K. Y0 P- y
! V1 W" a% F# _) o( g5 C4 t$ h8 u3 J- x+ \8 C) U
. R: f% J6 v$ `; J
npm uninstall npm -g' G2 a& Z; q9 P0 C& z: o- h* o8 P9 h
6 h7 d2 H8 ]: e: w
/ E. e; w2 u) ~6 B" Z" @. G
, V6 b" q# ^) b3 O
安装依赖6 D, e- R& o7 @2 R: N9 t
6 L3 A1 y  L$ E1 x) S

% }3 D" i* k( T8 x4 w1 \- m) U
yum -y install gcc gcc-c++7 {# e! n9 }- _% `6 H& B

- {$ h! }- T, b) a3 Z/ r5 t; i

( N5 c9 G. o/ I: g1 g- ?3 ^

: G- k7 Z: }+ M+ R1 J0 j, i4 z: ^下载高版本的node安装包
) p2 _5 o8 Q0 H- U2 W+ @& Y9 [* V$ Y  ^' A8 m
* x3 E1 |1 K/ F5 f
/ w, M/ L" T; _. y
wget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz
$ u" _+ @- B/ Z) y9 O; p' [
6 j- N: m1 V; j

: E: {2 j1 c1 h) E) W* Y

1 S; S( s& y+ d5 X+ K解压到相应的目录
) p: x) ?% e9 ^
3 G& N$ Z) V: e) J, q8 |5 A& D) n- o" s, P+ K
' q9 r' Z4 d6 I$ e) ~, N0 }# U
tar -xf node-v10.14.1-linux-x64.tar.gz
& ]* O' H1 t4 ^& e
+ O' U# z7 V- c9 L

$ C1 B1 [  r; [" ~

! j6 P9 Z6 ~5 D' v重命名/ ^) Y/ ]# E( C' O: ?* h
9 T" E1 L. ~. L# G

3 s. }0 n9 f" y$ u- D: z) H  @/ y' r4 e" d- b% n2 E
mv node-v10.14.1-linux-x64 node
' \$ M& J: U- s% v) Q" U) q' G5 x; D
6 n* c' P6 J7 f4 w4 [+ N
. M& y$ Q* P2 \" `& Y

! q8 s' Y; @" O9 |/ t添加环境变量(根据自己的路径添加)
2 m7 L* c! L( s# ?
9 b- \1 V4 G9 w$ M' J
/ t) A4 {8 L# n/ {* x" i2 P* p9 t* i8 L1 A3 {6 h, {
vim /etc/profile) s! \- b% o4 X1 u3 c' ?0 F

* w: f8 y8 V; Z+ l+ yexport NODE_HOME=/myinstall/npm/node& ]+ Q5 c6 i0 F. |+ J  s+ N1 z* ?
3 }0 i6 {0 ^2 F3 I
export PATH=$NODE_HOME/bin:$PATH
3 o# `3 g2 v; N$ ~) j, \0 O

* c8 ]8 I/ F# @4 `+ S9 Z
# N5 |( V9 o: T2 A' ]' }

5 P  L! s1 u7 C( Z7 W# _# d- l重新加载环境$ O; b; n2 Z& ]
' u9 I) E* `; K0 w

: @/ H3 S) G- U0 g  P6 T% W( p" g  J( w# N
source /etc/profile
1 q% B' F. x/ f

3 H6 c" w$ `) P+ N& t; {$ }  p( N
6 V! w& ~! N; G' }4 R4 C

: z& }, z& s$ k查看相应版本
[color=var(--focus-color)][url=][/url]
安装pm2
3 L, i. z$ B0 i/ ?: ^" E( \" l% v$ \& a
* z0 A' P* p5 Q/ K4 h0 u

- u8 x+ q* j9 j4 R- Dnpm install pm2 -g
0 w# ^* ]% `% c" q$ n
& G# ^, k+ o1 }- f3 j! f

1 O& V) r# N( @+ A' ^7 ~
3 I+ a9 g+ x9 L" u( k
检测$ Y& e" P$ \  G; ]
1 t9 b0 N) e; j
6 \! [; i) o7 k5 ?7 [" w
2 |  g0 D0 D8 O& [1 ~
pm2 list$ @3 r! x9 E# _: u# N. b9 J0 |
& O6 b( K/ z  r& r. U6 H

- g' ?" `$ Y" @) x! [
$ G+ I; U& u' A! e* ]& l# i
[color=var(--focus-color)][url=][/url]
常用命令9 W1 S" Y$ b) j

, A& n4 H. s  f$ f. j9 r# n; ^3 l- }% t
0 A' @% s- C- W- b, T
$ pm2 start app.js                  # 启动app.js应用程序8 ~( F  M9 V+ S2 Z

2 W  P4 E% {9 [- O
+ a; [0 A! Q6 s  B
! g9 m5 Y: H, k* @% o# t3 h
6 @1 N. A/ M3 I- c( [- w2 y5 |
( P$ |9 g" b* B* i3 [
% Q; ~3 A3 O# [5 j2 y

$ [. J# h8 w' ^( @/ A$ pm2 start app.js -i 4                # cluster mode 模式启动4个app.js的应用实例 # 4个应用程序会自动进行负载均衡
6 U& v; T2 ^4 y% t( \

# l/ K6 y" N! I) `

0 X0 G* R) G6 }. N- o/ t

4 E7 {3 E2 L& x+ Y8 I: _
  N0 A7 T2 f3 d: M) w( |- ]
5 k9 O4 W4 K4 _0 n+ W. f2 S9 a! e0 z

8 G4 ]- s* w! m( z& x$ pm2 start app.js --name="api"                # 启动应用程序并命名为 "api"( V( N7 ?: w+ o& X( |
" v2 L# ], t/ O
3 a4 V5 E: }9 Z8 p
  F/ G  |2 B* L$ t" V
1 r5 A4 q, \7 W# x; H* E7 X

6 V+ X) p; i0 l8 k- K! i, Y; b* F4 a) N

. z. W6 u7 E" ]1 g$ pm2 start app.js --watch                # 当文件变化时自动重启应用
8 T, A* J1 e2 L- F: h

# @9 H1 U1 ?/ ~3 \. k
5 s7 Z0 {; d+ E% \5 n. V1 y

3 n: A7 h. h0 D. ?* z  @$ ]$ R" n1 o4 V, X/ T3 U2 {" S, f# }
; |: I7 u7 ]0 _2 `( l: y

: B$ h8 G+ M3 u2 V9 q
* K" ^  H$ O1 ~* q7 [$ pm2 start script.sh                # 启动 bash 脚本
3 h. l0 F* O9 K' g! ]/ i1 y

3 _9 b1 n: T3 L" u0 [( O4 b7 m' T

) Q# r0 x+ Y4 B8 C0 a& z1 J. ?

5 y/ ?0 \0 P" \: K1 W1 ~8 M/ j4 Q" L# O" V) x% s; d; c  q# [
% `( k4 D* p0 g# M) A# D- q& h

# D) G) q, d( @6 ^) x# C
8 [+ Y3 ]' n9 u1 ]$ z% H7 G$ pm2 list                # 列表 PM2 启动的所有的应用程序" Q0 ~) {* a8 ]$ e
# n- B. P0 Z+ Q4 f4 a# p8 M

* `# G: |6 A' T* W4 G. @, d
3 M) G% P4 h" y" ~5 ?3 R. E
0 b+ a6 O8 W/ z  T; X
7 d& v- f: n1 Y  W5 \$ ]' d$ c
0 k: ?9 Z6 a0 P* V5 @* K3 `6 z! M

& w( e: a1 l0 k  R# ^. D( K$ pm2 monit                # 显示每个应用程序的CPU和内存占用情况
8 J3 v) {7 e$ t1 P

/ D2 ^( T3 ?% g) W

4 e+ a: p! l  V3 @+ ]5 R6 {& Y
7 G2 k9 C  O! V5 \7 k

' |- N, F2 C. q, A( L- D. L( H- V/ r4 c

# p' \. i  n% j8 V* F, r' a0 `! b4 Y. l$ P
$ pm2 show [app-name]                # 显示应用程序的所有信息
  ~  d0 k' B0 E: _/ y
  e( ?* M( J& |9 T1 f
! {! I* W: j9 k% ~: O, t

5 ~) S6 A& {" l. D: C
) o( P8 T# I: E2 G
' u3 K5 J. j2 ^  |
* K3 m- ^; o, A4 c$ v, M! ]" g' y6 A
$ pm2 logs                # 显示所有的应用程序的日志
" F7 [. J/ t# _
5 M! d" R0 m- z- ?+ ~

% [# x0 F6 R' C
" Q& l! M1 l. R4 V, S
( M! ]0 {1 M3 i" E6 @

; i' v, [# N, ^! B2 ]: h. h2 g9 _  k) f0 c; z
% g  u' k. D9 M
$ pm2 logs [app-name]                # 显示指定应用程序的日志( _- o( n! W4 F& S' {

0 e2 L5 Q( T  z3 I% v$ Z- \) ?: S: e

, ~/ ]9 ]& o0 q" W+ u: D3 Q5 d# }0 D

/ w' r7 X# n2 N5 x% d
- L- P) Z% S# {3 B8 B+ E9 C! V+ X/ i0 k, T/ b5 {9 X) i6 V, [
: k! J' p3 T, w! o$ f3 r7 ~

: [; u- A: _1 y& Q: I7 N3 a$ pm2 flush' C1 ~# j$ }6 V/ s3 e+ i& Y1 T5 U

. w; L7 V! G' _& k* M

5 B  `' R2 N# H* E, k3 b( ?: [  i! ~

) l) R: b! N, F# Y" g, b5 ^2 e0 j* j/ z/ w& A' C9 l+ ^
( q& j  B  C) v, s) D

5 M/ y% e$ A& ]5 u. `
- h, Y+ ^$ |! y$ ?7 U$ pm2 stop all                # 停止所有的应用程序0 l! H3 v/ q; W" O
8 j# G0 o' A. ]8 R4 G0 B
0 J- ^6 }4 g! E" ]9 E: v

; \, H0 l% S% ]: s) s- P1 T" v2 H; w: S! ^, \5 z8 P* m+ a  J
0 L( o* @. z: r; W
# Z& ?3 P3 f4 j' x$ X$ I2 t) K

" o; H/ V5 h6 U9 i1 v  F" d8 N$ pm2 stop 0                # 停止 id 为 0 的指定应用程序1 [! v& w; q  b7 B8 @, {

8 P3 u* T( J0 x" v/ e( E

. M3 o& I) L$ t4 A
3 C1 Q* n$ V- D2 r! v( ^; S7 o0 J
6 \9 R2 W9 P- t
- n! g+ A+ o1 I& n6 x0 N- I
5 V, r, Y4 _; B1 h1 x
8 t) I& S: ~( R) l
$ pm2 restart all                # 重启所有应用
3 _+ q# A4 y/ o- V/ d' m# _

1 f& }. R/ o, ^6 c- V

2 t( G; l5 w2 D* K8 o
2 R0 s. X! {" X" g, r

* K. n) ?3 i& F" Q3 f: k( ~. j" ^9 n( {
% @8 m/ ^; K3 b6 I
+ g6 {/ {0 e: M( T4 l1 ^
$ pm2 reload all                # 重启 cluster mode 下的所有应用
* C% x* N: @; T- J

, B7 c% Q9 D" H) C" q6 g: X

. K# `, z- s1 s4 ~6 b3 B5 B

* [0 w& Z' d3 ~- A( Y: K3 o1 @7 q+ c7 B, z. ]

% v9 }7 `- z# O$ V) G: g- ]  L
4 s* G0 r: e: J3 D: x8 u4 O  T% t3 x, q8 U8 ?: ~% a1 n( _
$ pm2 gracefulReload all                # Graceful reload all apps in cluster mode
) z  t8 g+ _  {3 ?& J
  ~/ Y$ ?% l) ?3 z! S
7 `& q6 V) p' F+ ~5 h

( O: N* z7 a: a) P: x0 d6 {; P# `) u- k- O( N
5 w' I+ i# N! b0 R2 U5 H+ F

/ G9 b9 U- z7 A8 f
7 I( a- V% o4 s. n: {$ pm2 delete all                # 关闭并删除所有应用
5 x# r) g3 y* x

7 ^, n1 I: q0 a% P+ v

5 y' r# r! o5 Z% I" k$ V3 I

/ w8 I4 K$ a5 u" ^) }- C0 i6 w  F6 z8 w2 H% F/ k* \/ b+ m* f
( @0 k, k+ y! W8 e1 t
% C9 C: |( W& p' [

8 V9 b6 @/ _; I+ }' S. z) k$ pm2 delete 0                # 删除指定应用 id 0" H: p% Z" |, O, `% x
+ L' m! d+ Z4 a7 K

8 I- ?/ ]" T+ s' e

9 J" N# O" R* {* k8 O8 h- ]! D, R; V+ O) B) D& `- d+ O

, L/ B' t- n; |& U$ ?
) F# _% B) u! V: d) u, s: ^+ Q0 \: M' o7 a$ y
$ pm2 scale api 10                # 把名字叫api的应用扩展到10个实例; i) e# w1 ~8 J  U

& @; n& Z0 ~! D  M5 _1 t! b$ V

$ Z( u2 h2 V& P5 o$ p% o
; ]/ K; o+ }/ t& f
: C0 Y! e2 J* P

% F; l9 J0 d* c
: D; \: X5 O& s, }0 X& m' q" [. z: h
$ pm2 reset [app-name]                # 重置重启数量
  n! D4 Y% ~, ]. q$ \5 }' h; `
8 N# I. k! k( d9 N" S1 z

, R. r/ _- k8 B
  B* f7 s/ |' p1 ]% w

0 K. V) s4 j: C2 {; a: z) n& Z  W: g% J- o5 G

$ B) x4 R6 A  \4 p/ k) i! u5 P9 P3 t( `) W* \% i
$ pm2 startup                # 创建开机自启动命令
: ?4 |: E+ [$ N% w- f
3 v4 @. A, c  z7 T8 a# r

6 }+ |; v, S2 k  {+ n
- v+ U! q: \5 M7 ]
2 V  P* Y& T; M6 _) M5 A9 h1 ~8 a
; g. x- c8 n( }6 ?
2 ~- o& L6 R1 X5 v8 F; ]% R

& u" ?/ c* e+ `) D0 I+ ?9 E8 c0 {$ pm2 save                # 保存当前应用列表3 z: T8 z! t6 |0 {
1 c$ f7 }  Z5 ~' T. [( @' ]
/ w- b( j  P7 ]$ K9 `1 [

! n% ^9 n9 r7 _' C' f( P
6 L, l* ]  X. J) Q9 w4 ~* i( M( Z$ G8 N+ v8 a

0 k, z; N( @0 p& f, [4 }3 M7 o! a& ]$ W) u  [* T/ ^/ H
$ pm2 resurrect                # 重新加载保存的应用列表
" T' g( `9 U# f. S

! U  T) q; T9 z
; t. ?1 C4 f& M' J9 `3 G+ H

. W% m/ B2 S7 Y! D7 o6 N, P: a' Y4 L* r  x, c# ^& G
: N6 D: N5 L7 T1 ~( ~3 X

3 [. b8 C0 Z( ?0 n" b( @
6 s9 ?, d6 j) j. s5 m$ pm2 update                # Save processes, kill PM2 and restore processes
8 e- O9 v- ]- y' ~
3 c+ N1 R% n! O: D1 U
0 ~2 a% v/ ^" I4 o- v
! t+ ?9 u! q" q( S8 E+ p: f' J

! X+ a8 T( |7 n
' h9 J% {& L# [
, O# ]( ~* Q9 x# z1 ?
8 b4 C( _. V( D9 R$ pm2 generate                # Generate a sample json configuration file
" z& u8 y. s& M5 d6 Y, q4 K& U8 S

# P6 F+ r0 c# s) ~$ ?

3 A; k0 g1 D2 _

/ }6 ~9 W( Z" v( \8 N
举例:( J% U- V# L+ [8 y1 c
阿拉德的脚本启动方法

  C* q9 h- H7 ?: K5 A6 P
& D& E; R* b  T: u
% u# s- {4 ^/ ?* T' _/ n% T1 Y* S! O* i0 K$ E; e+ {
cd /www/wwwroot/gmald/src
% o% K) u& i9 T4 K9 L; C& ]

, {1 M1 Z5 O5 O- q( v) V

- T9 `& P6 {8 K7 G" P1 E

* a( }& x% y- S/ p1 f2 ?
" P! T6 u3 R: [) D% \, ~: W& W' ^  Z& v
' T1 _; M4 Y  u: [  v+ F/ y1 ]! w! H/ k
5 [, Q: K/ f1 X# S- j& ]
pm2 start app.js
' Z. ~3 u* x+ ]
4 _/ F) M- v6 X: t8 t9 ]+ L! H

6 \8 y+ L, r3 i) T  N& Z; d0 I
1 x* U( T. N$ ~5 C7 q8 s
3 E. H1 v: f4 j$ C
免责
帖子地址打造全网最多免费游戏网站
今日来客 列表模式
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-27 00:34