Добавить каталог в переменные среды Amazon Lambda $ NODE_PATH - PullRequest
0 голосов
/ 11 февраля 2019

Переменная Env по умолчанию согласно документам :

NODE_PATH:/opt/nodejs/node8/node_modules/:/opt/nodejs/node_modules:$LAMBDA_RUNTIME_DIR/node_modules

Я хочу добавить в нее свой пользовательский каталог (НЕ перезаписывать все)

NODE_PATH:$NODE_PATH:/opt/nodejs/mycustom-directory

Я попробовал вышеупомянутое от лямбда-консоли, она переопределяет все.$NODE_PATH добавляется в виде строки.Это не синтаксический анализ $NODE_PATH

Вывод, полученный при печати env:

NODE_PATH=$NODE_PATH:/opt/nodejs/mycustom-directory

Аналогичный вопрос, но решение по-прежнему отсутствует: Лямбда AWS добавляет переменную PATH?

1 Ответ

0 голосов
/ 22 февраля 2019

Я придумал ту же проблему.Я написал код, чтобы проверить, применяет ли лямбда-функция расширения переменных оболочки, и выяснить, нет ли этого.

Я установил переменную среды FOO как $NODE_PATH,

Затем, запустите контрольный код (в лямбда-функции):

const { FOO } = process.env;
exports.lambdaHandler = async (event, context, callback) => {
  console.log(FOO);
};

Вывод:

2019-02-22T08:29:05.714Z    cde21239-628f-4a79-b046-6a14f177f59e    $NODE_PATH

Я просто переписываю весь 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...