我之前已经在 Railway 上部署了我的 Django 项目,效果很好。不幸的是,当我尝试使用
django-sendgrid-v5
添加 SendGrid 邮件功能时
软件包来帮助我处理这个问题,在开发环境中一切都运行得很好,包括像注册用户这样的 SendGrid 邮件。
但是,当我将它部署在使用 Nixpacks 管理其默认项目构建的 Railway 上时,我不断收到这个奇怪的错误,即 ENV 不能为空。我遵循了他们在 Python 上的部署过程,因为他们具有与 Heroku 类似的部署基础设施。我确保在其平台上运行项目所需的所有(env)变量均已正确设置。我检查了我的
settings.py
文件和 .env
文件以了解我是否丢失了任何内容,但我找不到错误。我什至卸载了我认为可能会引入错误的 django-sendgrid-v5
,但我的部署仍然不断崩溃。
以下是已持久化的部署构建代码。
`
╔══════════════════════════════Nixpacks v1.16.0 ════ ══════════ ════════════════╗
║ 设置 │ python310、postgresql、gcc ║
║────────────────────────────────────────────────── ──────────────────────────────║
║ 安装 │ python -m venv --copies /opt/venv && 。 /opt/venv/bin/activate ║
║ │ && pip install -r requests.txt ║
║────────────────────────────────────────────────── ──────────────────────────────║
║ 开始 │ python manage.py migrate && Gunicorn kester_autos.wsgi ║
╚══════════════════════════════════════ ══════════ ══════════════════════════════╝
#0 使用 docker 驱动程序构建“默认”实例
#1 [内部]从 Dockerfile 加载构建定义
#1 传输 dockerfile:2.06kB 完成
#1 完成 0.0 秒
#2 [内部]加载.dockerignore
#2 传输上下文:2B 完成
#2 完成 0.0 秒
Dockerfile:12
10 |
11 | ARG DATABASE_URL EMAIL_BACKEND EMAIL_HOST EMAIL_HOST_PASSWORD EMAIL_HOST_USER NIXPACKS_METADATA PYTHONUNBUFFERED RAILWAY_ENVIRONMENT RAILWAY_ENVIRONMENT_ID RAILWAY_ENVIRONMENT_NAME RAILWAY_GIT_AUTHOR RAILWAY_GIT_BRANCH RAILWAY_GIT_COM MIT_MESSAGE RAILWAY_GIT_COMMIT_SHA RAILWAY_GIT_REPO_NAME RAILWAY_GIT_REPO_OWNER RAILWAY_PROJECT_ID RAILWAY_PROJECT_NAME RAILWAY_SERVICE_ID RAILWAY_SERVICE_NAME SECRET_KEY
12 | >>> ENV =$ DATABASE_URL=$DATABASE_URL EMAIL_BACKEND=$EMAIL_BACKEND EMAIL_HOST=$EMAIL_HOST EMAIL_HOST_PASSWORD=$EMAIL_HOST_PASSWORD EMAIL_HOST_USER=$EMAIL_HOST_USER NIXPACKS_METADATA=$NIXPACKS_METADATA PYTHONUNBUFFERED=$PYTHONUNBUFFERED RAIL WAY_ENVIRONMENT=$RAILWAY_ENVIRONMENT RAILWAY_ENVIRONMENT_ID=$RAILWAY_ENVIRONMENT_ID RAILWAY_ENVIRONMENT_NAME=$RAILWAY_ENVIRONMENT_NAME RAILWAY_GIT_AUTHOR=$RAILWAY_GIT_AUTHOR RAILWAY_GIT_BRANCH=$RAILWAY_GIT_BRANCH RAILWAY_GIT_COMMIT_MESSAGE=$RAILWAY_GIT_COMMIT_MESSAGE RAILWAY_GIT_COMMIT_SHA=$RAILWAY_GIT_COMMIT_SHA RAILWAY_GIT_REPO_NAME=$RAILWAY_GIT_REPO_NAME RAILWAY_GIT_REPO_ OWNER=$RAILWAY_GIT_REPO_OWNER RAILWAY_PROJECT_ID=$RAILWAY_PROJECT_ID RAILWAY_PROJECT_NAME=$RAILWAY_PROJECT_NAME RAILWAY_SERVICE_ID=$RAILWAY_SERVICE_ID RAILWAY_SERVICE_NAME=$RAILWAY_SERVICE_NAME SECRET_KEY=$SECRET_KEY
13 |
14 | # 设置阶段
错误:无法解决:第 12 行 dockerfile 解析错误:ENV 名称不能为空
错误:Docker 构建失败`
我已经查找了可能的解决方案,但无济于事。我不知道如何删除那个空白 ENV,因为他们自动构建了项目。
非常感谢您的帮助和解决这个问题。谢谢你。