You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署容器化Directus到AWS Lambda遇只读错误,如何修改Node缓存路径?

解决AWS Lambda部署Directus容器时的只读文件系统错误

问题核心

部署容器化Directus到AWS Lambda后触发报错,提示无法在/directus/.cache创建目录(Lambda仅/tmp目录可写),之前设置的NODE_CACHE等环境变量无效,因为Directus使用专属的配置变量来指定缓存和临时文件路径。

解决方案

1. 配置Directus专属环境变量

添加以下环境变量,将Directus的缓存和临时文件路径指向Lambda的可写目录/tmp:

CACHE_PATH="/tmp/directus-cache"
TEMP_PATH="/tmp/directus-tmp"
npm_config_cache="/tmp/.npm"  # 保留npm缓存配置

2. 启动前创建必要目录

Lambda的/tmp目录每次启动都会重置,必须在Directus启动前手动创建上述目录。修改Dockerfile的启动命令:

CMD ["sh", "-c", "mkdir -p /tmp/directus-cache /tmp/directus-tmp && npx directus start"]

3. 验证配置生效

重新构建镜像并部署后,Directus会将缓存和临时文件写入/tmp下的指定目录,避免触发只读文件系统错误。

完整错误日志

2023-07-05T17:19:59.015+02:00   node:internal/process/promises:288
2023-07-05T17:19:59.015+02:00   triggerUncaughtException(err, true /* fromPromise */);
2023-07-05T17:19:59.015+02:00   ^
2023-07-05T17:19:59.015+02:00   [Error: EROFS: read-only file system, mkdir '/directus/.cache'] {
2023-07-05T17:19:59.015+02:00   errno: -30,
2023-07-05T17:19:59.015+02:00   code: 'EROFS',
2023-07-05T17:19:59.015+02:00   syscall: 'mkdir',
2023-07-05T17:19:59.015+02:00   path: '/directus/.cache'
2023-07-05T17:19:59.015+02:00   }
2023-07-05T17:19:59.015+02:00   Node.js v18.16.1

2023-07-05T17:19:59.910+02:00   node:internal/process/promises:288
2023-07-05T17:19:59.910+02:00   triggerUncaughtException(err, true /* fromPromise */);
2023-07-05T17:19:59.910+02:00   ^
2023-07-05T17:19:59.910+02:00   [Error: EROFS: read-only file system, mkdir '/directus/.cache'] {
2023-07-05T17:19:59.910+02:00   errno: -30,
2023-07-05T17:19:59.910+02:00   code: 'EROFS',
2023-07-05T17:19:59.910+02:00   syscall: 'mkdir',
2023-07-05T17:19:59.910+02:00   path: '/directus/.cache'
2023-07-05T17:19:59.910+02:00   }
2023-07-05T17:19:59.910+02:00   Node.js v18.16.1

2023-07-05T17:19:59.935+02:00   START RequestId: 46921599-988b-4341-9198-62c8e646ed83 Version: $LATEST
2023-07-05T17:19:59.936+02:00   RequestId: 46921599-988b-4341-9198-62c8e646ed83 Error: Runtime exited with error: exit status 1 Runtime.ExitError
2023-07-05T17:19:59.936+02:00   END RequestId: 46921599-988b-4341-9198-62c8e646ed83
2023-07-05T17:19:59.936+02:00   REPORT RequestId: 46921599-988b-4341-9198-62c8e646ed83 Duration: 859.43 ms Billed Duration: 860 ms Memory Size: 1024 MB Max Memory Used: 30 MB

内容的提问来源于stack exchange,提问作者FRumbo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 07:37:45