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

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

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

[复制链接]
  • 打卡等级:暂无等级
  • 打卡总天数:254
  • 打卡月天数:19
  • 打卡总奖励:210
  • 最近打卡:2026-01-28 00:59:42
灌水成绩
15822
58
2037172
主题
帖子
积分

等级头衔

ID : 1

管理员

积分成就 威望 : 999899
贡献 : 9999
下载币 : 11495
在线时间 : 1287 小时
注册时间 : 2013-9-5
最后登录 : 2026-1-29

发表于 昨天 04:20 | 显示全部楼层 |阅读模式
免责
[编号:16946]
方法一:卸载宝塔安装的PM2管理器,尝试重新安装5.2版本、多试几次,或者重启服务器或宝塔再次进行安装!方法二:自己手动安装PM2  需要先安装npm
) ^0 O' |9 J  B. H. w. n* F8 S! T6 u8 N" k  H7 z+ U& J4 }0 U. v

' D* ^8 w, Y, |/ z: A5 h: P+ F$ I
% v( T+ ^8 @9 m: Uyum -y install npm7 {3 {, \: P9 F
3 f$ V5 r8 G5 t/ D" L+ N& B
4 T$ ^; D& M( G/ T  l- A2 H/ A
6 B- B% b+ C; C5 F8 n. ?% ]' A
安装pm2
0 w3 Q: M) r, ?  d. n  O% H+ p
+ A$ E# @, U1 Q6 l3 c$ n' M' r
, h' {4 n2 s! D. `# n' M: B' H
npm install pm2 -g
- o+ N) b! d2 M$ H$ m! S
' P* A3 R1 v2 p- B# O
: U, c* K5 c; _/ z& }: l8 @/ s

) ?6 c, n. A9 k2 |1 h添加配置文件. _- E, U" T" J. `) T7 b, C
8 l  r1 _6 P5 k" K: O7 u9 f. X
, p! ]$ {' I7 o( {9 }

! H8 |" N3 v$ n  E' E" r) ]1 cvim /etc/profile  P, v9 r  W$ w& N
1 ~: _# d) h$ _3 A2 s, [
PATH=$PATH:/usr/lib/node_modules/pm2/bin
5 f8 L7 @3 w) j+ E9 ^3 J9 K
" m$ e& Y' ?3 n. |" }9 y& h1 a
source /etc/profile
7 U, h3 j* K8 F' Q5 c

) o7 \+ Q. `  C5 q
! h1 ^, J8 a( q* T

- u  k0 i7 ?# u0 Y测试
2 j: E+ @5 O4 s7 F9 n! L
# d$ N. m2 V6 W- b
5 U  D0 b) h& _6 j
1 O( a% c) e. j. G( Upm2 -v. _! r* i' _/ G4 Y" \5 M3 [: R

& O4 M8 e' p& @9 Z" Q

- a' h, C; \5 i* X
4 Y& H: m1 f& J4 m/ A! y
查看PM2安装路径
  c* q/ Z! u1 f, {. q7 i/ W  o+ y, c& [" o; w
7 w. f3 ]* Z% R6 K7 w

9 v: T  h  V# `7 ifind / -name "pm2"$ B) M  u$ `& t
8 y6 z: D2 ~6 L0 \
$ f8 T) A0 Q. e$ K/ i8 t: l3 g8 I2 a
8 A9 D; n- c) `4 Z" x4 ~/ I' H" T, N
根据自己的安装路径修改配置文件
[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
' S5 h: L+ O) m
2 k% k4 ~5 J. |  a) q, Z2 p5 |1 z0 P% i1 }# U
. p) g7 `% M9 {2 M+ s8 c
npm uninstall npm -g
$ z" J5 {/ l# Z6 [& w- G! b  W

4 e8 r9 U+ k( }4 J, ?9 N1 f' i! j

& H6 j& S7 z* o% M! m5 v; q

' F' ~2 u) U5 ]5 ?安装依赖
$ q9 ?5 L3 W6 ?
* p( A6 Y& H- Y
8 b/ _' D9 ^7 C: s' K. e; E9 C# r3 d' c" ~9 x+ M
yum -y install gcc gcc-c++& }* C$ c- T2 I8 h" x

! A4 p6 }4 Q$ c$ d5 R( i
2 O; A& y+ v! s. E' o0 f3 O3 \
2 n8 b! k! I& W( s! s  Z0 @
下载高版本的node安装包2 t+ t' Z8 h+ i

' p, M% n) Y$ r# B# }3 g5 U( U. y- C) N

% M+ C) n9 t2 |5 Hwget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz
4 T0 k4 K( W2 i/ _' p$ z+ H
$ f% y" s$ c$ t  w) ^- U& p
7 h+ y; o- T5 t% C$ z) ?$ ?
% m! |3 o) K, {- c
解压到相应的目录) Q7 V& x" M. Q! h( R1 j

5 t- R8 m  v7 }7 h$ x. y# w  E% {3 n; ?) F, J6 W4 V0 u- B
) j( C# W+ B5 E
tar -xf node-v10.14.1-linux-x64.tar.gz
9 U( ?+ R6 s9 O6 b! z2 X  P

) v8 ], h  m+ T+ P$ E
+ T  O1 l# f9 W! q! z

0 J6 A* f+ v+ z& V  u' i重命名
4 u7 q  Q4 ~# L" m* O1 ^" W3 p1 ^3 |  [: i& R% ^" x

" z$ H9 L. d/ v% M& G: ^- {0 [" y( E- Q8 q! E
mv node-v10.14.1-linux-x64 node
. V+ D( S' e% e& T
- B* b# R/ t& S- E' }; d
/ Z9 A/ e6 A& w# Q5 W
# V) `6 D  S" F3 C" p* `; m
添加环境变量(根据自己的路径添加)
; t6 p0 r' H; ^8 x; n
( O8 V# P" }+ g& v6 B! o0 w0 {
% @4 E% F; p; d% v' v7 u: w( H
: V- g/ y: K! e# w: t* u. `/ g2 [; R- Kvim /etc/profile
7 X( w! j! w) Z, Z1 k/ ~
+ A' P  ^9 o: b0 v* w
export NODE_HOME=/myinstall/npm/node! \$ b4 U  C8 c1 P+ l

# k. C* v7 _( l# o! k8 yexport PATH=$NODE_HOME/bin:$PATH
6 l$ l1 r& V1 ?: [' }: S; S5 c
! f" r' b' M' E0 e% c
4 M: O1 X# m8 `9 C

( \7 W& B5 b2 ^! r+ v重新加载环境
, U6 z" ^9 e5 J- p
3 y& b  n) R  q- ?
* Z4 D6 _, u0 {4 }2 r
3 z  g$ L% F. G' @1 y7 q- [source /etc/profile
8 F. \: o+ N# q- V0 n, k

* P1 t/ T7 L, |2 Z1 V( @) B; d

7 M+ z: x, Z3 C' \

( g4 ~+ l: c" y8 k% v6 d查看相应版本
[color=var(--focus-color)][url=][/url]
安装pm20 [3 R- L" D8 @. K
6 S! x( t5 F2 ~# n" E6 q1 Z" p

& r* Z# n  [% K4 @$ n( o* _
+ }1 e5 g- M6 O0 rnpm install pm2 -g
0 U, X& y# U6 J% `( X
5 w' Y9 C( e0 i( Z% ?

  N2 S& \2 j$ k  j. A

: Z2 D& c9 a/ G% ?2 V, G! J! H1 ^检测
  b6 @* ^$ }) p7 K# x7 y' h5 Y# y
) j9 X& w4 o5 @. G# l" x# R3 j
( c3 z+ m! _; I# n* r0 ^5 E7 V7 G7 @- L' F
pm2 list
2 p4 l0 F$ f5 H& S) O1 A  [, A+ _- G

# e' ^4 F2 H& U: a- L/ Q

$ V4 Z( j7 n" J& v/ f$ G$ a: i6 {

, T/ B9 T- t( o0 B0 [; q
[color=var(--focus-color)][url=][/url]
常用命令# l; T6 V8 s+ o- c2 Q. ]& X6 @0 T

. j& j' b! `+ Q0 x5 N2 @; }. _/ |& i" o) |# ?  s: P

' Y0 }1 Q: \! [  `$ pm2 start app.js                  # 启动app.js应用程序1 v( o  ^$ ?& m/ L: A
0 U9 a) N; {) P0 V9 d$ M2 L* a

5 f3 E* W5 A# q7 R
' ^  I$ [  K& V% o; n0 O2 R8 H6 D
  N0 H% u0 q/ L2 v+ Q, A

3 K( p7 A% [3 m1 e
( S, b1 l  \6 h8 ~: V0 W4 A/ w- @- y* s& S7 h! h  e) Z, O% s% `: I, ]
$ pm2 start app.js -i 4                # cluster mode 模式启动4个app.js的应用实例 # 4个应用程序会自动进行负载均衡4 U) z0 d$ f; j9 C
' [; r0 b) w# I( ^! ?) O+ B4 O

; ]/ _# f" P4 ^6 z& D9 D2 L2 Y2 i

1 N- v7 B5 _" t7 N  \+ O6 M
8 q  v. h. n' w, z: I/ i  q$ j1 v7 W" e' c, J4 ^4 a4 I
; z3 L7 V1 \6 U% M& j# U& x1 U( {

& P$ V$ x. y3 f* V3 ~; F/ |) `/ n$ pm2 start app.js --name="api"                # 启动应用程序并命名为 "api"
1 Q; k; \7 s/ ~6 k; c

7 q7 P. ?8 Z. O6 s$ d) v" ]$ {

, {- `* v. y$ R
/ |- P8 ~% ~1 G" B
+ X. ]+ u, d" |3 {. U+ u2 ~
7 }+ j. \1 a- j2 U4 P
% G; V: y: u) S, e5 |5 Y2 H
, P6 l" H) [; F0 l" v, p
$ pm2 start app.js --watch                # 当文件变化时自动重启应用, H! J/ B" k3 @8 c; O

5 |3 }% m4 u- C3 z2 `# G

5 \5 J& R3 t8 a

9 c" e/ a3 M7 j4 L! x5 c8 V0 g, f6 G: t8 }3 X2 }
" i/ b& F! a: C- x' b& x4 \7 h
7 w; `4 u. |0 o, k& i3 B

- y7 X- J; S/ W$ _8 U  Z  J- U) I$ pm2 start script.sh                # 启动 bash 脚本
& |9 V3 `6 o7 _1 c

, w! c! G" T" R" l" B& Y

& Y1 W* k% N/ R

9 F. \4 `, Z5 o: X
, P% [+ @* P: m/ T) v8 T7 t; w  {5 k, {, {- t9 S" U
: x+ v% w4 t" v! w
' t7 M. `7 \* ~0 W* f. F- m# n( |
$ pm2 list                # 列表 PM2 启动的所有的应用程序( E6 `7 D1 k+ a2 O( B
9 V' U" a; v  D+ a* x; {2 k

5 B' t9 B: W: B7 D
7 `! l  w  E2 o% L
+ m6 z, b  S" E; J
4 j0 e0 ?7 P) T0 ~7 c$ {

3 p4 u5 p6 l; k% A: O/ r
) C# y8 K. e5 w$ ^1 }: n+ B: ?9 s1 I$ pm2 monit                # 显示每个应用程序的CPU和内存占用情况
" ^: _& H7 Q5 q) |
+ z$ e4 T2 W$ m/ |5 B4 o
1 r8 ~" R: S2 R' i! l3 Q
, W, R8 ^2 P# T' r; Y6 B
/ f* `8 r9 I6 |- Y% p  R# M" Y: N

" a7 w/ J- V7 Z4 O9 }" w/ C2 X5 \( f0 ?; a6 r

% v' U" ]& ~- w" y. p$ pm2 show [app-name]                # 显示应用程序的所有信息
8 ?" R7 E7 @9 ^& `- r

) _5 @" P5 z' l2 R4 W
& ?/ ~$ A# R& w* v/ q

. A' i+ ]4 z* v/ h$ l, [, W: q6 Z: _2 G/ \- d
: ]" `: l5 n* K3 m0 d
1 ?* H8 Y! R" h& c3 Q/ N6 C* n
4 Y% R: t3 {# V8 v. v1 t! E& e
$ pm2 logs                # 显示所有的应用程序的日志
/ h- b& f/ r" q/ e

  T6 U- ~4 d  z$ `: Y

( n* M: n1 p, |# a5 a  W% ~% x
! P$ B+ C' x- h

+ ~; U) F' V+ f, d& g6 }7 l4 M: s+ k4 I
9 X7 U6 l" g- X4 ?# Y) t- Y
) q8 t0 o- X8 ~
$ pm2 logs [app-name]                # 显示指定应用程序的日志
( I1 v' }5 |3 C$ I

( P5 U) Q2 o1 A5 S) x9 w- Z

8 c" O9 Y( m+ T: N- ^" y0 [
4 K3 i. S1 @/ H- o

9 M6 ~" a) W% q& h8 i: I/ |) @  x  o* i& T# d+ K# P2 v
: ]8 ?& R. O2 x8 }

) q  D" ~& [, F2 A8 }$ ?3 y$ pm2 flush/ R1 r/ J+ [& |+ @& ?5 J" j
+ E2 y* y% ]' Q  c. G5 ~( J
0 G4 {& V2 z: N, E1 i; W
7 j1 E1 q# l; ^5 c8 c" B

2 F$ K8 w+ Q" r/ O! F, N. J, a  Z
" W+ D" G0 h6 H5 |0 S) t& D8 z
0 K1 M% P) n, A
$ pm2 stop all                # 停止所有的应用程序* H/ z+ h% s4 S- \; m) N* f

; z4 ~1 _8 u+ v& V3 m9 H

5 d( f' ]2 T1 }. B, |( X1 k, U' I
' R& d2 Y1 p# {2 ?, l+ J) \1 P
( G; C5 ~2 w# W, ]. v% J" R

9 ~1 `! O: ^4 e+ {* }3 Q2 |
1 P$ F3 U9 C% R5 F& P$ b, f: H* L! z! h+ L
$ pm2 stop 0                # 停止 id 为 0 的指定应用程序- e5 t$ I" e, n) @% q1 ^; ]
9 l* b3 K! d1 a, W7 w

% E& u: z( _/ {' |
. k, B- @6 a, i4 _$ x1 t" @
( s# l3 k7 D! |" `; i

, E5 r: B$ N; D
4 E" p! |( T2 w* t" n# U: P% H
9 K, @/ S3 {& h. C+ H$ pm2 restart all                # 重启所有应用9 @3 g  Q1 p' T4 N; z
3 b0 U! _' ]% D% S

4 H9 P3 i3 V# [

, U! _9 v( A6 o4 h& x$ F3 l# w2 N
$ G) u( B: y+ l$ z3 a4 y$ U/ ]8 V; s& _0 z/ w

" n2 Z  O$ ^) K. i/ |8 O
) ^5 R3 p. Q$ P2 b$ pm2 reload all                # 重启 cluster mode 下的所有应用0 C3 F& ?) q( ]7 {

, k' Z  r5 o: `* U0 h7 |' T
0 l8 S- R" P4 r. C
4 U7 `; G# \$ R; [

7 `7 o% e% \$ D. G+ ~8 ~9 ?
0 K$ v, ~" X' k# ^% P. ~  Y( E- I  n2 ]3 u

4 C' D* X4 K  e$ pm2 gracefulReload all                # Graceful reload all apps in cluster mode
7 w/ s/ X# P! U5 \) k% ]
, g1 m4 ^- c8 X8 m8 g" G
' K6 c+ U9 C5 S5 v% E8 q

6 @& C0 n  m/ p0 U0 u4 P8 w* c2 w0 r4 @3 n/ o

$ W9 f  a0 U* A( n
9 i, P4 G- z0 q
7 G  ^+ w8 T+ `$ pm2 delete all                # 关闭并删除所有应用$ o9 I, P. s+ _2 d# O' i5 A
$ F. q9 r7 `7 F  e9 a# n, D
. ^+ `7 ~8 O4 L. u2 T# ?$ S; \, W

* S% V) r4 u% n  Z/ I5 i* g
6 R/ _. f* c! K1 v% s  f; P9 y2 X8 p: k1 Y( k+ O
8 r. a9 n& t/ j) w9 J# @- v
: ]  t" R8 q- J7 K) t
$ pm2 delete 0                # 删除指定应用 id 0% ]' j4 G' _3 M) y* j* S
5 Q: D5 f) k' c0 A) H

' S, w. d" G" v! e9 x% f- f
% t" O' i- I+ Q  S7 n5 X. x
" a+ Z( c; c4 q* p" ?
( [/ ~2 j7 m. K' t
# J2 C' t( x" H! w/ A/ O6 Z! _
% S( z2 ]# K, l5 c" A
$ pm2 scale api 10                # 把名字叫api的应用扩展到10个实例/ m( a' D) h$ Z8 |# C

; v6 G5 T0 |+ D2 G, C# x
* p: L  L* X2 z0 M4 j* i. ]
$ a) X" ]7 j2 A! F4 e7 B! a
- h8 |; y* Q5 X. \. [

6 U+ b, v- i' Q: J4 A) p' R* e3 O$ e5 H- b. c8 l* Q
. T2 C8 d9 I' l4 z
$ pm2 reset [app-name]                # 重置重启数量' ]8 I: |5 t( C  z
( |7 |5 s3 ~" L! W
" c3 U# X4 }1 `& k, {$ N) U$ D
! G* [1 c) j, j8 U2 o! w' l
( v& r. ]5 q6 }( D" D% l, t! |9 m
# n6 H$ K7 l6 J7 ?! X
7 |5 t. Q7 [& z" V2 y& o

( p* i8 Q" f5 A8 m5 }/ ]  j$ pm2 startup                # 创建开机自启动命令
" W4 q. Y6 ^; z' [! O1 @

; J2 ]3 X. j1 }  B* q
- }0 |: d" F' e8 k' C( A
; A7 L* r: n: m+ V0 E

6 p& n! z5 Q" I; x2 ]( @5 M! |9 f/ H+ F

4 Q. m! S4 A  C0 R. w9 ?( G2 i3 |  F( }9 J# B4 T6 y
$ pm2 save                # 保存当前应用列表
# L# y4 z- d) v$ t7 }1 W
6 ?4 U6 V% w% k) y

$ j! Y# i0 v" c& `5 C7 x: N

+ r0 N( {8 I! O' a) i; G; f
$ d5 A& M# L7 `- B" Y- V1 ~
# f- e$ T0 C3 [- a0 }. C+ j# |  @0 @
/ k7 N7 S' i) A, R6 ^; k
$ pm2 resurrect                # 重新加载保存的应用列表
/ m& h$ Q2 U- D
( a. b/ P) x4 d$ y* k, V

" ~5 x" l8 C- H/ ]
/ T# X# x  u( _; U, J& R

( F: b  A8 o( Z* I' a  u( B% d
0 q, e$ y# D5 @  T: `9 B: R! i+ @& n
* g" ~( ^  K1 V# A& l( E
$ pm2 update                # Save processes, kill PM2 and restore processes
& q" N3 N! h8 Q; g
/ c3 N/ x1 |! `/ q4 q% T" @6 D; ?
! G2 Q0 }/ P- e9 V

0 B4 u  t3 V# T, W5 @
2 }. T; v: G) [3 V) K! S0 `7 K' J3 c7 P+ X

7 h4 h# T! U! C* _
# I. u+ C4 R8 W: y; ?* d" R/ ?$ pm2 generate                # Generate a sample json configuration file
7 Z& i' W0 ~- U3 Q

  V8 n9 {+ k9 B9 F/ U# y

4 @& f! K" S5 Q6 b# ?5 a+ j6 Z& M
" E# F- Y* I$ l& E0 O7 [$ F
举例:
4 X* ^$ |7 D- u: h6 o$ L, C% u% T阿拉德的脚本启动方法
% N3 o) p, Z7 C' W

9 V& ?" A' }$ o! E0 ?! }  ^0 Y# p( F# D; D" `) L

( }" G4 _* u. Acd /www/wwwroot/gmald/src' s$ r$ }. n! w

3 }! K% ]- s, z8 H# j8 T) x

8 K% w0 c' [& o+ D

; |, U* P( U$ ^' X( P& }- c. I# B) B8 E
9 q2 p  q7 Y# d* o( ]! |9 h" g& C0 v
7 A( A& g; b# L
. L$ g! c# [# Z& x. G4 Q) ?. d
pm2 start app.js$ n( i/ c6 d( m- _# N: f8 H3 h5 d

3 R2 p% t$ T! N
5 D" P# h6 l. U, f
2 w* c* ?7 K0 ~8 L

2 k) S$ T& F3 c! x, ]9 v
免责
帖子地址打造全网最多免费游戏网站
今日来客 列表模式
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-29 00:22