#serverless-framework #serverless #aws-codebuild
Вопрос:
У меня есть проект AWS CodeBuild, который пытается установить бессерверную платформу, но возвращает ошибку в названии, однако в нем говорится, что платформа успешно установлена. Насколько я понимаю, при этом не удается установить модуль snappy. Почему это так и как я могу это решить?
Команда, которую я запускаю в своем buildspec.yaml, выглядит так:
npm install -g serverless
И мой пользователь:
/root
Ответ №1:
в первой строке ошибки:
gyp WARN EACCES current user ("nobody")...
кажется node-gyp
, пытается использовать другого пользователя вместо root
,
мы можем найти проблему, обсуждаемую в репозитории пакетов:
самыми последними решениями, по-видимому, являются:
npm_config_user=root npm install -g ...
чтобы принудительно/настроить пользователя среды для использования в процессе установки npm
Комментарии:
1. Спасибо @oieduardorabelo. В итоге я использовал пряжу, которая не давала мне никаких ошибок. Я попытаюсь проверить и это тоже в какой-то момент.
2. Для получения воспроизводимых результатов я не советую устанавливать
serverless@latest
их в вашей спецификации сборки. Кстати, некоторые респонденты в вопросе node-gyp предлагают добавить--unsafe
команду установки.