GCloud中的NodeJS错误:找不到openssl路径

我正在使用NodeJS和Google Cloud App Engine中的Fastify

我使用ssh连接到实例的控制台 我执行了“ which openssl”,结果是“ / usr / bin / openssl”,所以我以这种方式配置了server.js

const pem = require('pem');
const jwt = require('fastify-jwt');
const multipart = require('fastify-multipart');
const cors = require('fastify-cors');

const createServer = (options) => {

    const { logSeverity } = options;
    const server = fastify({
        ignoreTrailingSlash: true,logger: {
            level: logSeverity
        }
    });
    pem.config({
        pathOpenSSL: '/usr/bin/openssl'
    }); 

    ...

    server.listen(8080,'0.0.0.0',(err) => {
        if (err) {
            server.log.error(err);
            console.log(err);
            process.exit(1);
        }
        server.log.info('Server Started');
    });
};

我试图实现的功能是:

const WebPay = require('webpay-nodejs');;

let wp = new WebPay({
    commerceCode: cert.commerceCode,publicKey: cert.publicKey,privateKey: cert.privateKey,webpayKey: cert.webpayKey,verbose: true,env: WebPay.ENV.INTEGRACION
  });

  const pay = async (req,res) => {

    let buyOrden = Date.now();
    //transactions[buyOrden] = { amount: amount};
    let url = 'xxxxx';

    await wp.initTransaction({
      buyOrder: buyOrden,sessionId: req.body.sessionId,returnURL: url + '/verify',finalURL: url + '/voucher',amount: 10000
    }).then((data) => {
        return res.send(data.url + '?token_ws=' + data.token);
    }).catch(onError(res));
  
  };

,错误是:

您触发了未处理的拒绝,您可能已经忘记了承诺的拒绝:

  

错误:在此路径上的系统上找不到openssl:   / usr / bin / openssl位于   /usr/src/app/node_modules/pem/lib/openssl.js:237:23在F   (/usr/src/app/node_modules/which/which.js:68:16)在E   (/usr/src/app/node_modules/which/which.js:80:29)在   /usr/src/app/node_modules/which/which.js:89:16位于   /usr/src/app/node_modules/isexe/index.js:42:5位于   /usr/src/app/node_modules/isexe/mode.js:8:5 at   FSReqWrap.oncomplete(fs.js:153:21)

     

(节点:17)PromiseRejectionHandledWarning:承诺被拒绝为   异步处理(拒绝ID:1)

我用来进行“ gcloud应用程序部署”的Dockerfile是:

FROM keymetrics/pm2:10-alpine
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY ["package.json","package-lock.json","/usr/src/app/"]
RUN apk add --no-cache --virtual .gyp \
        python \
        make \
        g++ \
    && npm install -g node-gyp \
    && npm install --only=production \
    && apk del .gyp
COPY [".","/usr/src/app/"]
EXPOSE 8080
CMD ["pm2-runtime","start","ecosystem.config.js","--env","production"]

ql8568 回答:GCloud中的NodeJS错误:找不到openssl路径

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3161717.html

大家都在问