dev*_*svd 5 amazon-web-services node.js aws-lambda
根据文档的默认环境变量:
NODE_PATH:/opt/nodejs/node8/node_modules/:/opt/nodejs/node_modules:$LAMBDA_RUNTIME_DIR/node_modules
Run Code Online (Sandbox Code Playgroud)
我想将我的自定义目录附加到它(不是覆盖所有)
NODE_PATH:$NODE_PATH:/opt/nodejs/mycustom-directory
Run Code Online (Sandbox Code Playgroud)
我从 lambda 控制台尝试了上面的内容,它覆盖了所有内容。$NODE_PATH作为字符串添加。它没有解析$NODE_PATH
打印 env 时得到的输出:
NODE_PATH=$NODE_PATH:/opt/nodejs/mycustom-directory
Run Code Online (Sandbox Code Playgroud)
类似的问题,但仍然没有解决方案:AWS lambda 添加 PATH 变量?
小智 1
我也遇到了同样的问题。我编写了一段代码来检查 lambda 函数是否应用了 shell 变量扩展,并找出它们不应用。
我将环境变量设置FOO为$NODE_PATH,
然后,运行检查代码(在 lambda 函数中):
const { FOO } = process.env;
exports.lambdaHandler = async (event, context, callback) => {
console.log(FOO);
};
Run Code Online (Sandbox Code Playgroud)
输出是:
2019-02-22T08:29:05.714Z cde21239-628f-4a79-b046-6a14f177f59e $NODE_PATH
Run Code Online (Sandbox Code Playgroud)
我只是将整个重写NODE_PATH为(my custom library path):/opt/nodejs/lib:/opt/nodejs/node8/node_modules/:/opt/nodejs/node_modules:/var/runtime/node_modules
默认值的NODE_PATH解释如下:
https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html
| 归档时间: |
|
| 查看次数: |
1152 次 |
| 最近记录: |