Next.js - ОШИБКА Каталог сборки не доступен для записи в EC2 - PullRequest
0 голосов
/ 29 октября 2019

Я впервые запускаю мое приложение Next.js с пользовательским server.js в Elastic BeanStalk с 64bit Amazon Linux/4.11.0.

После создания приложения, среды и развертывания с помощьюeb-cli Я получил предупреждение на приборной панели EB Environment health has transitioned from Degraded to Severe.

Я изменил команду Node в конфигурации на npm run deploy. Ничего не изменилось.

Вот мой package.json.

"scripts": {
    "start": "pm2 start server.js -i max",
    "build": "next build",
    "dev": "nodemon --exec babel-node server.js",
    "start-next": "next start",
    "deploy": "NODE_ENV=production next build && pm2 start server.js -i max",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

Я подключился к экземпляру eb с помощью eb ssh, и после того, как я нашел каталог проекта, я попытался выполнить npm run buildно произошла ошибка.

> NODE_ENV=production next build && pm2 start server.js -i max

> Build error occurred
Error: > Build directory is not writeable. https://err.sh/zeit/next.js/build-dir-not-writeable
    at build (/var/app/current/node_modules/next/dist/build/index.js:1:6361)
    at <anonymous>
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! webreader-client@1.0.0 deploy: `NODE_ENV=production next build && pm2 start server.js -i max`
npm ERR! Exit status 1

Я создал каталог .next с sudo, но ошибка все еще возникает.

Документы: https://github.com/zeit/next.js/blob/master/errors/build-dir-not-writeable.md

1 Ответ

0 голосов
/ 31 октября 2019

Проведя почти 4 часа на телефоне с поддержкой AWS, их решение было следующим:

создайте папку / файл в корне вашего проекта: .ebextensions / 00_dir_permission.config

commands:
  01_set_file_permissions:
    command: "chmod 777 -R /tmp"

Конечно, это не идеально, но по какой-то причине права в EB изменились так, что вы не можете запустить сборку, не настроив такие разрешения. Надеюсь, что это скоро изменится.

...