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

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

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

[复制链接]
灌水成绩
19649
120
20243
主题
帖子
积分

等级头衔

ID : 1

管理员

积分成就 威望 : 8 点
贡献 : 9 次
下载币 : 449 枚
在线时间 : 2005 小时
注册时间 : 2013-9-5
最后登录 : 2026-10-25

发表于 2026-1-28 04:20:13 | 显示全部楼层 |阅读模式 IP:广东东莞
免责
方法一:卸载宝塔安装的PM2管理器,尝试重新安装5.2版本、多试几次,或者重启服务器或宝塔再次进行安装!方法二:自己手动安装PM2  需要先安装npm
$ R" q( b$ G, z% V) c+ u) l1 g& L- J- j$ G
& `7 H. f( a% @1 b4 E1 |; s, m
4 r  l! C- y7 J  @5 a
yum -y install npm
, E0 [) o+ {  O
( u+ S; `" ?: M3 y5 T

: b  v! \/ B5 e1 R
: w3 ^& q7 B/ G$ n: D
安装pm2
3 [( b' n& P( M/ V+ \; {$ P7 G4 J. f7 v9 a2 S  F+ J$ j5 m. Z+ I

$ a6 h$ ^6 L2 F# E; i
" L1 {* g) K: anpm install pm2 -g
$ ]6 W% k! u6 ^
$ t% N% M* N+ r; h/ s

2 {+ y8 e7 K8 ?, B  _2 F
$ Z  d7 @* b- O1 W' O9 R: |
添加配置文件
6 t7 N. L0 _0 q% c  V. B/ d
6 r* d" k5 o/ O( c
0 [/ V. K4 L6 b8 n/ a' e$ C1 d8 w" J0 ^) E" _$ x. }8 r4 {; \, r1 C7 m4 A
vim /etc/profile/ v; Z5 X6 X8 O9 l
( _3 \7 W, e$ o+ ^8 R+ K" r
PATH=$PATH:/usr/lib/node_modules/pm2/bin
6 N/ F7 t  K) T3 i
( M7 G+ X1 }: {9 ]7 ^; y
source /etc/profile( P3 h. c/ r% y! d. w0 }0 X. W

, I0 W! [! K# \/ a4 q

" m$ r  O' P5 W6 q1 t6 e; G

8 `- U7 Q8 Y: k( ], d6 U测试6 H: ?( V# d/ b$ F5 I4 p- e
6 z/ [, Q' L# M% `: z
  {5 f& A) [$ f1 z0 L
$ O# R2 d5 n: c( J, _
pm2 -v) u% I% P: w; I: D! j7 m" W
- |% X. G- Z6 A7 k( _. {
- X* S9 P$ @! U% b7 A

: r( m, {3 o% Y  W查看PM2安装路径& y& M" C& R; Z+ n5 A7 g

1 l) }2 `9 K+ F9 {7 m% S
7 A2 }1 w1 \1 {* u, h! p6 [/ N& t* _8 Y* ?/ x& W
find / -name "pm2"
+ l1 H9 I/ B. J- p* G
: Q$ ?8 o7 o1 W% M, ~$ X

% d& q  D9 J5 M) r

$ {1 _/ z  e2 M4 ^) i1 p+ Z) T根据自己的安装路径修改配置文件
[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
: c  V: z. d( e& n8 v  R% N9 R  I0 V+ X  b- W  n

4 @- [8 o+ W* Q% n* n
; i1 B$ `2 o1 ]0 Znpm uninstall npm -g7 ?1 Y. j# s- t+ d+ p! ^& U8 j
0 w* N; P6 `+ q0 D2 ^0 K
: m6 o$ |% _! S) r4 D( A+ w
2 N( r# U4 x' Z7 n% m9 K7 {
安装依赖
; r" l9 K7 @7 b' y/ [/ n/ d; m3 A- m9 y) |1 @5 {4 s
) {( ?2 p) i6 [- f2 Y: i, z+ y

. f- H- Y. A. c6 m9 |) I8 [+ X6 Oyum -y install gcc gcc-c++
5 l( x. f. K  R+ x! P
/ X  b+ d1 h% s! U' O
) ~  ^/ P  N# F
' ?4 E$ t, W5 g/ K( a9 H2 {; B  i
下载高版本的node安装包% v9 J4 w( N- G
9 @- V  Z5 |/ N% k& ]

8 j- ~2 {  L, n  S. n
: P  z! z% w2 {, h: Lwget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz! j1 T4 [" L  ]1 k0 R% @

: m: F& r  k8 P, [' B

* A% M8 a; o7 I. \; y. V# c
9 ~9 }5 T( A6 d0 Z# b7 q8 r8 @! M
解压到相应的目录3 L& v0 E. l! U7 U6 x
4 t3 p9 B9 c- j( g4 C" M) [
) a! B8 l, W0 J4 N
" D- I  h8 x6 U: I
tar -xf node-v10.14.1-linux-x64.tar.gz' Y* ]. c- F/ V/ D3 Q

1 o( I6 n) \! Y- P+ O+ t; A

  o# Z1 `9 h& O6 E- t3 a. C* w8 K( B

4 F' z$ l& c/ j  f; N重命名' z2 B$ C+ A8 h5 v, k% ?9 h
8 J% S+ j' |  L8 w
( ~! `1 t; n7 e5 ]2 z3 F

' t' Z, B: l1 B( T6 g5 q! gmv node-v10.14.1-linux-x64 node
0 ]2 V# Z3 o3 k& N8 D1 f

' H: _) j; ]1 {2 E7 y

6 l# u* l+ c2 A- e' J

/ S, Y- g9 ?& y- c; \5 N/ f; }8 r6 y添加环境变量(根据自己的路径添加)* B, I# m' W& {  [) V# \
5 X9 Y' i3 H3 I! w# f& Y0 s5 I
/ D& W: \2 {# M8 W
+ ~  r) I; w$ f! P: }: X
vim /etc/profile
) B7 c8 T! B2 m: K2 |0 g
' H( G- S! `* k' Q
export NODE_HOME=/myinstall/npm/node
, x2 I9 y8 _+ d' Z8 E8 [; @

" O4 o" }. L+ b/ hexport PATH=$NODE_HOME/bin:$PATH
+ F* @# L  p) Z* r/ T; V) Y8 Z
9 `* h7 E  S" O7 V6 P) x

" ^9 {1 s; N3 ?( D* x/ f' E
% n. _7 e1 X3 V) l. R; E/ G
重新加载环境' K+ [0 A5 N" p% M( `- m- L7 ~
' u5 M) |. q; Q9 Y; ^
2 e# n3 u5 n" |/ y' f; e4 w

" U7 P7 E- y8 W8 }0 E! hsource /etc/profile
. |$ d5 ^9 Y  x7 L
/ W; h) G. l0 V! X- P

, o7 b8 C6 N* P4 {2 ?1 \, m7 r+ v+ f

+ n. E' G* g" x7 G7 D  v  y查看相应版本
[color=var(--focus-color)][url=][/url]
安装pm2
* i! o# x& u9 ^. O  L$ _/ V1 S3 s

7 M5 f0 U& D2 k  B9 Y2 t( _, ?) B" S5 i% m" B/ V  k
npm install pm2 -g
( C  x# x% \3 s' u
/ R6 }8 h5 L2 N( ~. L( h' P4 H6 D9 e

% M' j3 ?2 Z' i1 _1 Y  a, E  t- L
8 L8 Q* g. F3 y
检测( J8 {0 z0 l* ~2 W+ h0 x  C

' g% `* }" @) K
8 Z5 w* \4 T0 K( _
8 q) Z5 d* ~! g9 ]pm2 list
# y7 z4 ~( @: O& w' |

$ d$ k6 X2 d4 {+ |( R9 @

3 C6 F, p8 v5 v  R, Q& a

7 j: j. [+ r- j9 K
[color=var(--focus-color)][url=][/url]
常用命令: M9 y5 M1 z- B$ x; g0 F
7 v+ k0 A; s  U

8 G4 K  F! u: O$ P7 r+ l: X
  ~$ ^4 U, X9 G* [$ ~5 m" v$ pm2 start app.js                  # 启动app.js应用程序
+ m; U1 U( y, n6 ?
: x. W, I& m& d9 N; p4 f
. i+ r9 \$ h5 I% D: Q  l' T
( u4 e. A1 I& p$ A' `) U" X

4 Q) |/ Q0 g" K) L
+ [& ?  |" c4 ?" t$ [2 l' ~, b' n) M9 }

) U* ?; B) F' M' t5 z, l$ pm2 start app.js -i 4                # cluster mode 模式启动4个app.js的应用实例 # 4个应用程序会自动进行负载均衡8 w3 P  b4 e, b2 r; K& o! |6 C; r

( L& X& x# @% q: j
' v$ S+ V$ F! A! J
7 Y8 A: s% N7 Z$ l( V1 |5 |( L
9 {: j; u9 T1 |% q" x5 \

$ n: N4 H/ j* K& t% d& o# B$ O: e( I0 Z3 d- D4 B# {% x0 D0 A! z
5 q9 @; g6 p  B7 a
$ pm2 start app.js --name="api"                # 启动应用程序并命名为 "api"
. c; i5 G9 d' b, y( t! a& w

: G+ W' {9 ^& b8 U- u6 ~9 H

  ]; M6 U; j$ b' q* w" S
4 D  t6 p: B+ r$ C" a
8 Y4 d7 d4 n; E# a- o/ f0 ~: k+ O

* x% h1 U' @3 K9 V) H& n: @. I9 D% ?5 Z* ~! A; W

) l& Y" _" `! ]+ C! ~# Y9 ~$ pm2 start app.js --watch                # 当文件变化时自动重启应用, d; _/ E8 x1 s+ ?/ v

0 ^9 I7 I" Y7 ^, @+ J4 r- s! _
+ p4 F( s5 `6 y* F; V# _3 p8 m) a
, E  o( Y3 Z1 l9 W

3 X4 [/ d+ j0 Y: |& N3 c7 E; x3 P. C8 a- l, q7 f+ _" o
& A9 o+ Q/ k& B1 S9 ?( \/ A$ g

, z) B( C3 c+ e- d! R6 x* X; v5 F% l$ pm2 start script.sh                # 启动 bash 脚本: ^- a, d0 ?- s3 }, H

+ Z; G/ r1 ?* U  O( H% F
4 X1 q9 Q( P; _+ B% o1 ]- Z: l: y2 L
5 i; h" W9 {5 o4 p& C' K

' M# N# l: z) a9 S# G& G) _; \3 ]/ y9 |6 A. [' p
( @# f8 [: Z. k* {

# y  T1 K. d6 ^; \* k- |$ pm2 list                # 列表 PM2 启动的所有的应用程序( R+ V  e, u* e. e) G
! U- I# ], s! t/ v0 h+ N' D2 Z5 E
8 G' x% |! W1 C0 O5 }
( {% V$ x1 Q& C, h8 v2 m
1 R: Q/ L7 H6 y7 n7 E8 ?
; a% s' G2 O  g
5 b' B! L8 \$ ^3 Z# M9 L
' E$ G0 h( _6 g( J6 t
$ pm2 monit                # 显示每个应用程序的CPU和内存占用情况1 r9 d+ D' W  k, O# n
5 r. u( r5 V, Z, r% v! I
% H, w  D; `( [9 C0 B; m
; T0 p( T* T* }/ l  H

. F1 k$ d4 r9 G$ I  x) l
. o& d9 R8 A3 B8 B
- G5 S9 N5 @) }' c/ z, Q! B
. s9 M+ {& O( I4 K$ pm2 show [app-name]                # 显示应用程序的所有信息% |0 Y- H- u' C$ \- J1 A

. f( J. {0 p- r

* E" B! U% k+ G. n& b

9 W! `+ t6 G2 Q
! f  s4 m/ a% s9 |8 H- I8 s1 }" t6 ~3 Q% I

& d6 S- ^9 x* [  D4 ]
8 r2 P% ~! q2 a$ pm2 logs                # 显示所有的应用程序的日志
8 G  S! H: x$ Q- A1 [8 u
: A. u& f5 p8 z/ }$ c3 Q! ?
  Z' W; K5 l+ v# ^
" d& J* G& }8 ~* j
6 k. c  E! v* |' s$ q. e

! a/ k- @+ f4 G) K* s$ e) l0 P" W! x) A% P7 |

, @9 }& A! `+ z$ pm2 logs [app-name]                # 显示指定应用程序的日志0 m0 C6 B) Z9 F% G

: K! F, j  @& @' R5 |
2 [( ?" L3 I- T! J

, f- k$ n# z( ~# ]3 v7 U4 Q/ L0 s* x0 V. u- [
$ E/ M, t' x7 i* a) H5 J
4 ~. _+ T& ?5 R' {; b
5 J+ E8 H/ H$ i+ k0 |; }
$ pm2 flush
$ O! I& \' C6 O

/ }+ b4 W  R/ H9 h5 S  N

6 I6 }0 O- q# S2 L# d; r

9 m$ {  h1 h  Z5 ?1 ]
) K) Y/ y  F* B
. ~# R) z2 J0 [+ E1 M# s, A6 R' z- L; t/ c

8 F3 ^# K2 W. b/ Q, a4 l: T$ pm2 stop all                # 停止所有的应用程序
; w8 o  J$ Z9 v( |( {+ l- t, E

! Q4 d* p  ~) ~. `- y' R7 d
0 U5 m0 N2 F9 C) w9 F: Z4 ^

; w1 D2 Y5 D. J6 l1 W6 f. S
8 f  e* C8 r, q& o2 F) [
* k, X/ H! W  X- T
& K9 u) B8 V( O0 |5 k# R$ p$ Q& {) j
$ pm2 stop 0                # 停止 id 为 0 的指定应用程序* m& }3 j: ^& ^7 B; q

8 x( ?( A$ z6 @2 i3 G9 f
( g; ~) a% ~3 Z
# k+ e! }' H% p* @5 E% o, O

1 v6 K6 s& D- o- P3 L
6 V# d6 S9 n5 t0 @3 }7 x( Z* b; _: Y, m& O
, F2 c  \9 c. R. Y8 C$ F, z
$ pm2 restart all                # 重启所有应用1 u% |% K* {4 Q* W2 D

6 z7 g3 h0 s2 y2 B2 \( E
3 J" u+ U' ?5 O( T

" M2 _- Q' G- S2 u  G) [, U2 H8 c! R, w1 c* W* H3 c0 l5 w# M

  Z! ?6 P/ U9 ?& C
7 e& K/ m% Q4 [  w# ?( u
3 T+ {1 R# _7 z$ pm2 reload all                # 重启 cluster mode 下的所有应用+ ]7 H. i5 F9 o0 `, F4 F
2 v3 r/ g* {9 U/ ?3 H
, l( O& T. D" J' }: e1 @
# |5 _$ W& r* G- J) O& ~* a

* Q: b1 R7 d& J+ L. i" `& M/ V6 w7 @/ T* Z* F2 r  z6 A3 v
% p6 y! s2 y  w0 x+ Q; L: O4 G" f

* H3 l" ?5 W( H* {# \$ pm2 gracefulReload all                # Graceful reload all apps in cluster mode- T" g7 V( V* t3 i2 j4 C$ U# E

' @* z+ W" e0 x8 ^$ A; Z
, |+ t0 e& i8 P4 |
# J  |* e( Q+ y
( \4 P. S0 ]! s2 r! j; M, x

: U- ~9 i" S1 N7 k% T6 x3 I5 O9 m8 Q2 I" }3 x
' C0 p( [& v& u
$ pm2 delete all                # 关闭并删除所有应用
/ U3 X/ A2 E1 v# t! q! t
& ], H- _) k5 F3 t5 x* s& c# P
$ H) W3 M! `3 W2 ]$ `
4 z$ ]7 z  f. Z2 ~

7 u. L% p# M  F& \+ H, S$ V2 @" ]( C) t; K- f. d- [- t$ T
& H8 @* v* x' [' s
5 D6 X  E: u) y8 x) I. E: W
$ pm2 delete 0                # 删除指定应用 id 0
/ E( ]0 |- n% S6 t
2 u# y6 f' P+ x7 A2 q" p+ `

' c  T- s: s; X& Y% \, y* R% B
7 b& `. z7 |/ g5 ]

# p! \/ `" A+ T* X
& b* G5 X. k6 c$ ~
( x  V- I9 p/ _9 j' Y; [
# n  }' a! e  b7 O$ pm2 scale api 10                # 把名字叫api的应用扩展到10个实例
) ~) r+ [" [' G) n5 I

( O. m4 a* k' M* v1 k8 z) L% b
% H! U8 f1 c- N
8 h% N( P" S: B$ [6 o
' G& }$ R; H7 [6 F+ `6 E
. L, k( `- I; D* n4 p" p+ \

4 a3 O: e) R7 e4 X7 |5 H2 e. E/ x/ L7 T' `% [
$ pm2 reset [app-name]                # 重置重启数量6 a- n: b0 S& p

* {4 A2 L" i- k; C4 _' q

7 _5 @6 ]4 c+ L5 p1 R
- q; i# N4 K( Q

* K2 V* k: u" G" O2 p
1 g  f( ]& }/ p/ q% D/ g) R
" Q/ b& b6 s: h  Q2 v5 ~9 M6 U' |4 Q: l0 Y- s( V# F- O
$ pm2 startup                # 创建开机自启动命令
, G; H4 ^! G% `4 ]
8 P' T' J/ E8 p
9 l0 Q( Z8 z/ V: n9 T
- g) M0 [6 _) Y$ L, @& B
$ W6 a4 I9 [; T8 I2 y1 G% u- z
. E; V9 o* A& f& I( z2 _

* h; P2 E% F. |; V% r+ x3 Q; W
/ u: T$ \4 \0 r& Q: T, x$ pm2 save                # 保存当前应用列表5 s$ E" Z* ^  ^6 e" }
: L/ N: _+ W3 A- L
* m- f4 F2 |# G  m% k+ q+ v
/ s# e+ t3 N9 g# ]
, o, D% _$ p. V2 ~. ?$ t" ^

. @& Z/ N, s: p1 X) T2 \- b. |7 O- _6 ~, e$ y% j
. s, B2 S$ r8 \* O) I2 B* j: u
$ pm2 resurrect                # 重新加载保存的应用列表
& [2 D* L  {; v
$ X& c7 ]! I1 K. {, ]1 P

( [8 R+ C7 c5 n- g4 a, x

5 D$ }6 k+ i. h5 }0 T& E9 z8 J5 N! P# ]  u1 b$ ]; p+ w0 [' g2 J3 }( h

6 I$ L" A9 t7 `2 p( L  M: f$ j0 m8 y
) K* t0 v- M. `6 `5 @2 O8 y+ a& g" t; B. G# q+ I3 x
$ pm2 update                # Save processes, kill PM2 and restore processes
, f4 g$ K5 Q: {
6 d( z7 e* F' l% ]6 `/ u
  c% v; N0 o4 {9 K* K
% I2 X: a* G, h3 p

# B+ Z' d8 k+ N1 X0 @; q
& g% d  f, Y: y$ \
- A  T$ f# d% _* f8 z
. `% @: {9 o- ^" }0 L$ pm2 generate                # Generate a sample json configuration file. ^7 J9 Y2 a0 ^# ]5 o' @9 L8 i! T8 M

# G% B/ C7 E5 ]) o) Y7 Q3 u
4 F9 K* N' f* }% d0 W/ [
4 g( q5 F3 k2 F: V  ?
举例:& l2 x9 Y% E$ P2 w
阿拉德的脚本启动方法

3 Z( u* Z2 b4 D+ ]8 w7 \& s1 D! i
1 H2 L* \, }( \" E0 m
  h2 n. ?9 o. z% B% m7 F4 E" u+ r( K/ g: E6 L& v% v
cd /www/wwwroot/gmald/src
" k; J) h5 V2 m. w/ K

8 m* ]9 v! e) R1 \0 o- D

% p4 X: K; K5 H) j

. L3 k+ l" C: K8 `- \$ K! _" J8 H* ?3 @, L/ `8 j5 k% s

* ]5 n1 E4 o% h, o3 G/ D
. ?5 B1 z+ g8 B9 }+ o. h' G3 `2 I3 ?; K) @: l- c& g4 h' c
pm2 start app.js
+ o. s: X- O" Z4 O! z9 w5 N

8 Q8 [+ S# m$ x1 J4 ^
4 C: x. B4 g" B$ r2 |# D
  E, F. R. k- i) X2 B8 |9 Q

: I3 `' u; M9 Y9 v1 l
免责
帖子地址 打造全网最多免费游戏网站,部分资源失效,私聊站长补
今日访客 列表模式
10月上白班,问题处理时间等晚上
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-10-25 14:08

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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