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

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

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

[复制链接]
灌水成绩
19101
118
19678
主题
帖子
积分

等级头衔

ID : 1

管理员

积分成就 威望 : 8
贡献 : 9
下载币 : 434
在线时间 : 1951 小时
注册时间 : 2013-9-5
最后登录 : 2026-9-16

发表于 2026-1-28 04:20:13 | 显示全部楼层 |阅读模式 IP:广东东莞
免责
方法一:卸载宝塔安装的PM2管理器,尝试重新安装5.2版本、多试几次,或者重启服务器或宝塔再次进行安装!方法二:自己手动安装PM2  需要先安装npm1 B- c6 {$ \- Z" t6 m" B
/ A( S) @7 }  F

0 c$ N/ e: `$ e$ t) F$ t( t. W" M: V# Z
yum -y install npm! R2 z/ M1 S4 Y$ j* k
, o; T( h7 T1 R4 g" h

4 M7 g  r2 {8 Y$ D* P& Q# t
7 Q( A4 a, N. Z% E# @# k
安装pm2* @' C9 \, I2 t( i4 @

$ {# d; y( X+ y7 g* U
) N8 c# s6 D4 n8 [" l1 Y
4 K8 m6 X/ ]% F' m" ~% @2 W) inpm install pm2 -g$ K. I% U" I3 N5 c( k
" e7 @  C! d' l" R  U: o
5 e# D1 [; X' d% }' I

' P7 R8 _$ z! ~6 H. Y  @$ Z添加配置文件
4 J$ ?* x; l1 ?( a' A% {6 o) z7 _
& T. v0 I2 Q& t$ U; d4 {9 L4 o8 |4 O+ {+ A3 ~6 j

  }  x8 x6 h3 gvim /etc/profile! e- T; [3 w0 O) z" f& j$ E

0 _: K/ \3 m$ E+ sPATH=$PATH:/usr/lib/node_modules/pm2/bin
- ^) A$ v3 W5 L( D  S

3 G0 U2 C( S. E7 g/ |; Z" gsource /etc/profile( i# a# A, \/ V/ N: J
2 j5 u! ~! \) o; D
6 U" g& f6 ^- D

9 w; M3 Q9 M+ u1 |0 Y4 E' X3 M测试/ R" u+ {5 w2 C! A! @
5 H+ Q1 G$ Y, D3 M, `) }( j

/ g0 @1 G9 A0 I8 e/ E1 ~
  W, k) g, b2 N. d1 apm2 -v5 M6 V* ]7 M$ _2 v4 q
9 k  e. b1 f8 d2 `" [

$ h2 I# Q) F) L4 i# T
7 U1 \0 P# s- p+ _4 k
查看PM2安装路径
# e0 t( m# V. l/ Q% N7 o7 R5 m2 [) w- A4 ^4 a! Q
/ h0 Q3 y2 E8 P8 ]5 g5 G

; s( n* e+ R+ v! [find / -name "pm2", X$ h) u% ~% |+ U4 ]
, B5 J$ k4 M, C% `* Q2 Q4 j( N
" J) S+ {. \" h% q
2 `" j2 `) J9 C  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]
解决办法–先卸载之前的npm7 c" K0 R5 U$ C' s/ L" X: M. S

3 L  z- S( s' P0 }( o6 ^+ i
7 w4 K* i7 r* c& }7 A; A% A$ U7 R2 S3 |4 P
npm uninstall npm -g
2 \  s2 j7 t8 _6 {& L$ O

# u9 U7 l3 w' u* r
' N6 s7 E9 H& M
0 x2 r3 l( V3 r: X, \) e: [
安装依赖1 a3 w( u6 b, q7 B% B$ z2 Z

! H, \+ ^' z" j! m
3 j1 \. [; m6 F% M
4 ^' ?9 m: _0 C0 g3 U5 ]0 a- Qyum -y install gcc gcc-c++
- x0 L5 u. h- r9 _% M
4 Q7 ]3 {  A6 E3 V- ~
3 d9 O! B2 L' {6 u4 k- L! F+ i& s' f

5 F' L1 q8 `1 Y; G( Q下载高版本的node安装包* y: i3 J  c) y2 R3 n9 l

$ S7 {! @' S' P
% k6 G- f* ^# R5 s, B- e5 s" t( o! Z1 K* y; x" F' z
wget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz) v" T, P5 Z8 ?

. L6 E# s/ f+ u  v2 n; }

* ^& o* ~+ }# U" u( \8 U! u/ ?# R0 {& n

& a" X, q$ W3 g, ]解压到相应的目录
! P; J2 F2 q4 w. ^% J! k% N! O2 E" x3 }% c# E0 G6 K2 A7 d

5 g0 ^  ?( ~$ Q( N& f5 O, |# T  [( v. U
tar -xf node-v10.14.1-linux-x64.tar.gz
: k" m# R) j& ]0 M0 |4 d

# E4 g( [$ ~# W9 Q8 p

# y! ]8 m9 O8 D% W2 v: f

; [7 L' y( d; H7 B8 D* B重命名
* y: Z% r/ i6 w1 t; r( m- \7 `, {. K6 h' z8 e/ a$ F4 [; E

! Q* C* ~/ w$ |  X" K) p8 o+ ]9 ]
6 B, A* p2 N5 w3 _mv node-v10.14.1-linux-x64 node& j5 f. Z; ]- [; ~

( n1 Y7 B3 |' s. N! Y; @
/ B" @+ B. b: X

2 e1 B) z4 q$ T" e9 T- n2 `添加环境变量(根据自己的路径添加)1 t  ~, _3 l& {, z( G( I& R7 w) k
9 L/ s# t. R% X* I+ {; s6 V

+ `0 a/ x" o( e; j6 @: \3 [3 V8 o4 Y4 }8 P! O
vim /etc/profile% B, o' t; p( X- s$ C
. ?5 U% w1 U4 v  K; I  b* k6 {7 O
export NODE_HOME=/myinstall/npm/node) `# U* X5 _1 S+ b! g9 v. x3 [! _
9 E8 h! i. d* F8 M; ~1 n, g4 t
export PATH=$NODE_HOME/bin:$PATH1 W+ y) c- S: M1 ]3 B

4 o- J* k, K; n# Y, A4 N0 E

) l9 _5 O) m6 c" P6 O9 t1 i

6 `: G! I! j2 I7 D* S3 t/ ]2 y重新加载环境- C1 u/ Z  q1 I" R" I3 y' `9 F7 v

5 b! b% F! @. I# `6 v
9 D. R7 `: |1 O5 c( u" P' }  R0 C( z/ i; ?. J6 l
source /etc/profile
# P+ U  \  q6 n( w7 O0 P  R9 R- n+ k
9 d" R) `0 g! Q  H* ^$ j
/ H" K* {- B; [4 b
. `2 p7 a; [0 ^' q" a
查看相应版本
[color=var(--focus-color)][url=][/url]
安装pm21 Y" b5 _0 ^& A; A$ g! o' n

8 p5 j3 g  v3 \# [1 H9 Y) j- ]7 V

) {0 m4 M5 Q6 n/ K7 Bnpm install pm2 -g( ^/ F8 Q9 ^$ L4 O9 h5 C' y

) d$ ^6 R8 k- x1 `/ @" W

4 L. }4 w  f% G, I# N
& A1 [8 M! ]* d
检测
( n7 t- R, \$ R- C5 q/ J8 z3 @0 `. K" o. v3 b: O, h2 }) q) u# m3 h
0 K, S7 k6 o2 N# {$ V
5 \/ N; Z0 \4 {; _0 }5 v0 g
pm2 list& B9 N% d) _7 f0 {# i* J1 T

/ U  d) y- r3 D2 F" }) Q

2 x! Q7 K- f+ ^6 C
% w5 A6 }! r- v& f6 W8 |2 @6 N1 E0 F
[color=var(--focus-color)][url=][/url]
常用命令9 a+ Q% u# l0 D  `. P* S6 ?
/ v9 F4 R6 P) Q2 ]: w* Z
9 q- K, Y  s5 F! N* i3 v' P
0 t- q: H* T$ t8 m3 B
$ pm2 start app.js                  # 启动app.js应用程序2 U" {. o2 u1 m
6 t7 |; ]* E% g9 H5 A# W& F: s- c
7 _' J4 x+ z' R' ?! v

, n% t1 k6 C- q* i
" }2 P5 c5 x  \( h# R3 z; j  e' A% [; u/ o1 b

1 I7 G/ f& n# ~5 I2 X* G2 e9 M% A% ~* W1 @- D" `
$ pm2 start app.js -i 4                # cluster mode 模式启动4个app.js的应用实例 # 4个应用程序会自动进行负载均衡% a. p. o9 }/ l4 {- d
. |# m7 R7 @6 c! u0 w* n2 e2 v( G
9 v* K0 j& q2 G1 _1 g. W/ a  D

8 A/ k. c, v  C! N/ b" u( A; _* z# G/ f* K/ G

. B& Y" \" p, M4 n4 S0 e6 `8 F# d: }% E+ u) V( W3 ~

! z  }* F4 a  E1 N$ pm2 start app.js --name="api"                # 启动应用程序并命名为 "api"
- P' R# w/ o# a9 U/ z: G6 l

, T$ C: k' [+ J

) ?. E! b, d* W; M, ^0 [& ?
0 _# T! e9 r0 v4 h" u, m3 B
6 L& i4 t! z: w* [, E
+ l$ n; p7 W$ c7 i3 `
  T! K/ J. Y/ [8 L$ C) _
  i/ p, {8 U8 P) w
$ pm2 start app.js --watch                # 当文件变化时自动重启应用. x$ e4 p" [7 k8 s2 i4 _; @$ c
, ?" E  ~- T; l/ A+ E/ [( W

- j, n( x, D+ {- U
' ?( l3 `, Q/ p% g6 q- ^# R, F# z, ]

# y9 i! H1 E2 P* |5 Q) p+ `9 b, t; s

+ U- z, s- s. c7 s
6 q$ J( S( t& \+ o4 R; U, B$ pm2 start script.sh                # 启动 bash 脚本
9 A' g2 t8 a2 v3 U
) A- c$ x$ y) [& s
" G( @. t& d* Y8 u2 H, _) H
* ?5 L) @- e- L/ o2 b3 c
* v: o% L/ ^  o1 e1 B

. T* o( w, \! o" z2 Z9 `
$ c/ C; U" p5 y5 j: j5 H
7 Y! Q3 w0 B9 p0 h$ pm2 list                # 列表 PM2 启动的所有的应用程序
! Z1 X* F6 \" \  Y" V8 o# H
9 H* z# @5 Y* `$ D

& `4 s6 f+ b3 ~5 Y; E
% m% _  d- M- H7 j

, {+ ]1 h* m. l, g! }" E3 R; @: }# u! |% u  P( ?( Y/ t0 e9 E

' c$ k2 e! G: x0 k+ Y0 d( L& j; h7 G
$ pm2 monit                # 显示每个应用程序的CPU和内存占用情况
& _# W. l0 f' ]" t) _4 F, z

6 _  }! V  W# Z

0 U2 a. C/ d( f8 g
7 t( A+ z: C% }( c" j
5 M4 i, p9 b2 e" M1 q% z9 d5 g' Y7 U
7 e6 i% t, e  P% v/ m2 O* d
( K' ~6 Z. X  L3 H

; J1 }& v$ |' ~7 I" W$ pm2 show [app-name]                # 显示应用程序的所有信息. v0 j0 i; X, j2 _6 a+ [
5 r* I3 x8 _+ m

6 w' d- v1 E  O# o0 R8 P
' B# r! ]7 V  ?$ G
" ]/ {2 z) L) R
1 ~% M, Z; B5 l- V9 x- Q8 k6 [

: [7 z, W1 L; Q1 ]
2 o- w( f7 d/ U8 i$ pm2 logs                # 显示所有的应用程序的日志
  r' l6 |- F( |# q  _  \# s& ?
6 v8 q& D* d2 ?
! e# @3 y$ }! `- Q
# N* @3 T0 ]+ j( ~. c: o5 e

8 C/ n# h# \7 M4 u# G, |
+ _$ J& @% x3 q& S8 t- U* [) v! i! _9 O4 i" y
- e, X$ O' {: T2 C- c
$ pm2 logs [app-name]                # 显示指定应用程序的日志
+ T0 |( M" T9 ]' U$ ?

! Z4 V2 w4 x! N& d' m! K

, m4 w. I+ R# [
3 a; C( E( R1 e* L! x5 p9 v
, z# Q; r% s0 ^% C1 h: g

. F7 l8 d' S1 f. n0 X7 L0 q
- u% U% ^- a% [6 ?4 |8 m# Y) x3 W  @! N5 t, W
$ pm2 flush& C7 @( Z/ V* l7 ~' d5 X: f% t
5 n6 r& I* I" n/ \( ^6 E' @
  Y1 x" p6 x, ~1 ?0 O/ m

; u* y, V6 T8 ]" t5 H( @% Q$ m, ^  r: ]0 ?! \

9 V3 `3 n. D6 i6 O( q
  Z% h. W8 o3 R3 u2 s+ [
! R# P$ e& @: p+ F& z$ pm2 stop all                # 停止所有的应用程序
4 p. p% @. `% g# n1 T# U

. |# p2 U2 c9 L3 n# L, u

0 i( i4 _3 q1 r% S& p3 A* w4 A6 P2 H/ s

: F/ x: O0 q7 j, K- O5 U. O; V8 e. M0 U" C5 z) {# {

, R8 B4 k$ o+ q/ F9 [( B6 }' F! |) R, @. e3 v: A

) M3 i. H7 d. \! _9 r3 X$ pm2 stop 0                # 停止 id 为 0 的指定应用程序6 J+ l* [7 L2 f
# u" Y& I& Y: ~4 S- e! S" q& \1 J" ]

/ x+ Z9 G  \! l: q( m

, [$ H4 \( W* O/ ~6 d6 v& n9 d/ U4 ]: n% f% ~. z- V. u7 c* k, E

  ^( o, S) |# d0 `5 d8 T% c1 q$ D# r: C( R! R
  s/ z/ A3 c6 x; X
$ pm2 restart all                # 重启所有应用3 i$ B% H5 o& Y4 _
  [6 {& I( r' M2 T( h/ Z6 \

+ j& e- M: V( O3 a: g# @3 b7 }

& ^4 W& F9 Y( L  ?5 E
: X6 V+ Q( E3 o+ [4 F2 t/ [+ D- y1 r6 d

; t7 d1 w! U; i+ ~6 E: s
2 o# H1 \5 E9 \: e2 u: k$ c* A9 g) a$ pm2 reload all                # 重启 cluster mode 下的所有应用
7 h7 z7 I  {3 J8 c' O# J
# x% B; J- k+ R3 Y
7 x' ^2 I4 o  q" g% R2 l
4 T/ O& M# G* `* q
( Z( K% f8 ~7 W: @) K

' H7 X5 |1 F5 P
/ `: q% a& R& G7 ^  z
' O4 D/ `$ `. U( V$ pm2 gracefulReload all                # Graceful reload all apps in cluster mode
- ?+ K  U+ T& K/ x- c

9 Y) a1 Y" H- H. t% @$ z

7 o8 R; ?5 [% B9 E4 f
9 ?6 M0 f/ l: k" z2 R4 P
3 m6 ?5 s4 s6 w+ G
" C/ \4 p0 H% e3 F8 P

  z% \, M# {! a4 O7 B* f! f
' d; z, B3 j/ z* F% {0 `$ pm2 delete all                # 关闭并删除所有应用
9 z; U+ a) Z. K* N' R' L& K

1 Y. ^0 I. x0 W/ J. P

1 H4 h9 O4 w) v- y
  i/ A8 A  O  b
6 D5 \6 p# Q+ o- |# c! X

# _  x2 y' f" b: W* f( N; f6 ?( X2 g/ F3 Z0 B- E9 e
4 b, e0 Q) b) \9 B, a; t, k* l
$ pm2 delete 0                # 删除指定应用 id 0
. N2 {" p- U/ S( Z+ T

0 t4 z7 B" a4 s! \2 M! {% ~# O
4 _+ X5 F& u) [- H/ J3 Y" o
4 U, X7 [: c$ A+ ~( _* z' k; g

+ }; i, ?" R, h7 L2 E
9 s1 i! M$ \' S6 Q8 r& k% p# S9 q# v+ Q
/ Y; L( r$ w. q/ t5 {4 x! [' l5 y1 i$ Z8 p5 Q, Z
$ pm2 scale api 10                # 把名字叫api的应用扩展到10个实例  Q( d4 H0 Z/ E% z

+ p0 I! ?! K8 N9 d
% H' m9 N3 x0 {9 D
6 ]; C* e* n8 S( o3 B6 H
. \: I  c( `% @
1 ], N' d6 M/ x1 K5 w7 ]
' X# H' ~7 t! j& [# g

' x: i" W/ ?1 O: S- I% T1 E6 J9 h$ pm2 reset [app-name]                # 重置重启数量% _# G2 |1 L, x" g* v8 L4 ~: ?/ i
& J/ C% }2 K% t
  i, b( a2 b2 Y# X# K) m/ V% l

! x# z( Y7 L' U# ]* |- S( F/ J, ?
3 y6 w) i7 C9 U  U' W: G. Q" v* H0 Q. ?8 w& J* I; i
/ N+ L! f+ ~8 h3 p
8 E& A" j+ S; o5 x, X. w
$ pm2 startup                # 创建开机自启动命令
& b5 }+ Q5 o& F. @6 @( T

: Z' W9 w- u: k$ s' z
9 n) [$ @4 r6 w

: @' G. e8 @9 {6 [
) G  S1 o/ u0 C+ ^1 d) W, ?: V+ s! t1 q9 R

$ p' [0 I, y( d: w
8 ^; K. B+ i6 q$ pm2 save                # 保存当前应用列表( e$ K8 h8 e4 l# p; a
) Y* g0 r& }% n- y1 r/ |

. t$ j  M4 D( v, W

. ^4 I, ~2 j' r, n. ]& Z; u. T
, Z$ X# A2 T; F. |4 A; |: @" @3 I5 h7 }6 r
) S; a9 [: F. u( H

9 v$ T  X. l" z; p# r$ ]$ pm2 resurrect                # 重新加载保存的应用列表
5 }) x- t" o/ X
2 E4 x' K$ D" k- Y( J1 \
, G/ |) w  N2 [% X7 z; S0 q  m
* p8 ]; A4 F' ^- f9 i
4 k0 _4 [4 J' P: P: G4 |

# P" Q+ D$ `7 m* r7 e2 S3 f  G8 J+ S! r3 p

1 V( Y: j7 L# i3 k: X8 F; p& E0 }- f$ pm2 update                # Save processes, kill PM2 and restore processes3 H; M* r& X, }
4 R* d$ @  z+ u; H' I& t

0 i+ q: C- ]; w2 z, c; Y' ^

, H8 W; t1 W4 Q, v7 H/ `7 C8 A
7 J, H$ z1 d' ?% O3 y; B8 O2 i  }1 h  y& K# J9 ]

4 s' W8 ?5 a( Y8 A8 z: K- L6 F4 h7 d7 k9 I" W3 a% u
$ pm2 generate                # Generate a sample json configuration file
3 `, Q/ s4 Q; B3 l2 T
" \' P5 S' Z7 K2 n  u. ], T
# b; u: V4 o  i

3 f0 q! W- ]# d; {# v
举例:
! L0 q# S! o8 u$ ?6 D* d( `阿拉德的脚本启动方法

) Q2 W. J; l, A
( F. J2 B+ G9 H" B$ M7 d
2 P+ z- b' `$ e, U
2 T- L7 h# T" scd /www/wwwroot/gmald/src; W' h- ?2 V9 k* X8 T
1 W$ P) ?" b1 t' K; G
6 }6 h' S: n/ D$ L6 k1 N
# S0 y/ I* j2 n- b1 H; g: R
0 t. d$ S6 |8 L

+ l/ H( L+ {: I$ Z$ k' z* f4 o7 R  i( x! N" X

+ I% m  G: e- k) M  F1 M/ Kpm2 start app.js, E. a; E/ V. Q4 }! |
  M4 K; g3 t8 G9 J# ^/ c; N

' F$ Z1 @5 H' M) {5 v* f$ u, t

, W, y& ^1 Q" N+ i. D1 I) M* j6 Y
免责
帖子地址打造全网最多免费游戏网站
今日来客 列表模式
本月有问题处理时间8:00-12:00上夜班  9.7发布
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-16 15:34

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表