在离线 RHEL 上安装 pm2 的确切命令是什么

What exact command is to install pm2 on offline RHEL

首先,这不是下面的重复问题:-

How to install npm -g on offline server

我在我的离线 REHL 服务器上安装了 npmbox (https://github.com/arei/npmbox),但我仍然不知道如何安装 pm2 或任何其他使用它的软件包。

请指教

您使用 npm install & pack

首先在在线的机器上安装

$ npm install pm2

然后你收拾起来

$ npm pack pm2

这会给你一个 tar 文件——你将那个 tar 文件复制到你的离线机器上并安装,比如

$ npm install pm2-2.2.1.tgz 

然而上面只是为排除依赖项的特定模块创建了一个 tarball,您可能仍然有需要解决的依赖项。虽然您可以简单地手动浏览并打包每个依赖项,但有一个模块可以为您自动化

$ npm install -g npm-bundle

那你可以做

$ npm-bundle pm2

对于单个包,或者如果您的项目有 package.json

$ npm-bundle

把所有东西都装在一个大tar球里

@Soren 的回答对我有用。要全局安装它,您需要将 -g 参数传递给它。

已在 OpenSUSE 15 Enterprise 上测试。

例如:

ip-192-168-2-36:~ # npm install pm2-5.1.2.tgz -g
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.

added 181 packages, and audited 182 packages in 5s

12 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities


ip-192-168-2-36:~ # pm2 -v
[PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
[PM2] PM2 Successfully daemonized
5.1.2

没有 -g 参数 pm2 命令将无法运行。

ip-192-168-2-36:~ # pm2
-bash: /usr/local/bin/pm2: No such file or directory

另一种离线安装 pm2 的方法是:

使用@soren 提到的上述步骤创建 tar 文件。

在我的例子中,安装在执行“npm install pm2.tar.gz”时挂起。

npm install pm2.tar.gz

[..................] - fetchMetadata: sill resolveWithNewModule pm2@5.1.2 checking installable status
[..................] - fetchMetadata: sill resolveWithNewModule pm2@5.1.2 checking installable status

为了解决这个问题,我添加了 npm 注册表,但是 没有用。

npm config set registry="http://registry.npmjs.org"

服务器位于 DMZ 或私有子网中,但它无法正常工作。

解决方法:-

获取node_module目录的安装路径

#npm config get prefix

提取tar文件&将pm2目录复制到node_module

 #tar -zxvf pm2.tar.gz
 #cp pm2 /usr/local/lib/node_modules/npm/node_modules/ -r

cd 进入 /usr/bin & Crete pm2

的 simlink
 # cd /usr/bin
 #ln -s /usr/local/lib/node_modules/npm/node_modules/pm2/bin/pm2 pm2

检查 pm2 命令输出及其输出。

    # pm2
    usage: pm2 [options] <command>

    pm2 -h, --help             all available commands and options
    pm2 examples               display pm2 usage examples
    pm2 <command> -h           help on a specific command

    Access pm2 files in ~/.pm2