【问题标题】:Next.js - ERROR Build directory is not writeable on EC2Next.js - 错误构建目录在 EC2 上不可写
【发布时间】:2020-06-20 00:47:56
【问题描述】:

我第一次使用64bit Amazon Linux/4.11.0 在 Elastic BeanStalk 上运行带有自定义 server.js 的 Next.js 应用程序。

在使用 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 ssh 连接到 eb 实例,在找到项目目录后,我尝试执行 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

我已经用sudo 创建了一个.next 目录,但错误仍然存​​在。

文档: https://github.com/zeit/next.js/blob/master/errors/build-dir-not-writeable.md

【问题讨论】:

  • 请尝试为您的项目目录设置权限-sudo chmod 777 -R /your_project_path
  • 奇怪,今天我也发生了同样的事情?我和你一样在运行 4.11.0。 @karamon14 你找到解决方案了吗?

标签: node.js amazon-ec2 next.js


【解决方案1】:

在与 AWS Support 通话近 4 小时后,他们的解决方案如下:

在项目的根目录中创建一个文件夹/文件:.ebextensions/00_dir_permission.config

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

当然,这不太理想,但由于某种原因,现在 EB 中的权限已更改,以至于您无法在不调整此类权限的情况下启动构建。希望这种情况尽快改变。

【讨论】:

  • 感谢它非常有用
【解决方案2】:

我在本地遇到了同样的错误,经过大约一个小时的故障排除后,我意识到我的节点版本设置错误。似乎下一个 9.4 不支持节点的版本 9。我更新到第 12 版,它可以正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 2013-08-21
    • 1970-01-01
    相关资源
    最近更新 更多