在Render平台部署Rails项目时遭遇./bin/rails权限拒绝错误求助
解决Render部署Rails项目时的
./bin/rails: Permission denied错误 问题原因
本地运行正常但Render部署报错,核心原因是Git默认不会跟踪文件的可执行权限,你本地bin/rails脚本有执行权限,但推送到GitHub后权限丢失,导致Render构建时无法执行该脚本。
解决方案
方案1:修复Git仓库的脚本权限并提交
- 给本地项目bin目录下的所有脚本添加可执行权限:
chmod +x bin/* - 确保Git开启跟踪文件权限的功能:
git config core.filemode true - 提交权限变更到仓库:
git add bin/ git commit -m "Grant execute permissions to bin directory scripts" git push - 回到Render控制台重新触发部署,或等待新提交自动触发构建。
方案2:在构建脚本中兜底设置权限
如果不想调整Git配置,也可以直接在render-build.sh开头添加权限设置,确保每次构建时脚本都有执行权限:
# 在render-build.sh最上方添加 chmod +x bin/* # 原有的构建命令,比如: bundle install rails assets:precompile rails db:migrate
内容的提问来源于stack exchange,提问作者1641_Shourav Chy
相关产品推荐
相关产品推荐

