我正在安装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