pm2&#​​39; cluster'模式无法加载LD_LIBRARY_PATH

时间:2017-01-09 06:13:38

标签: c++ node.js gcc pm2

我正在安装npm软件包 ccap 以生成 CAPTCHA 。因为它是一个c ++添加并且需要 gcc 4.8 + ,所以我在安装时遇到了一些问题。

我编译了 gcc 4.9.4 并在我的开发机器上成功安装了ccap。 但是,当我尝试启动我的应用程序(没有pm2)时,我遇到了这个问题。

Error: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/jwb/ccapDemo/node_modules/ccap/build/Release/hcaptha.node)
    at Error (native)
    at Object.Module._extensions..node (module.js:597:18)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Function._load (/home/jwb/ccapDemo/node_modules/pmx/lib/transaction.js:47:40)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/jwb/ccapDemo/node_modules/ccap/lib/hcap.js:4:13)
    at Module._compile (module.js:570:32)

我搜索了很多内容并通过在 .bash_profile 中设置以下linux环境变量来修复它。

export LD_LIBRARY_PATH=/home/jwb/gcc-4.9.4/lib64:$LD_LIBRARY_PATH

现在似乎有效,但是当我尝试在 PM2群集模式中启动我的演示时,出现了同样的问题。

我也尝试了 pm2 fork模式,它运行得很好。

所以我想在 PM2集群模式中找不到 LD_LIBRARY_PATH 。然后我打印 process.env 并找到 LD_LIBRARY_PATH

所以我认为这个问题与 PM2集群模式有某种关系,但我不知道如何解决它。 我没有root权限,不能只将 / usr / lib64 / libstdc ++。so.6 更新到更高版本。有人遇到同样的问题吗?我该如何解决?

使用的软件版本

OS : Red Hat 6 gcc : 4.9.4 (default gcc version is 4.4.7) node.js : 6.9.1 PM2 : 2.0.19

0 个答案:

没有答案