AppEngine Flexible Ruby环境,应用程序启动错误:/ usr / bin / env:'ruby2.5':没有这样的文件或目录

时间:2018-06-26 05:17:21

标签: ruby-on-rails ruby google-app-engine app-engine-flexible

我正在尝试将带有API的Rails 5应用程序部署到带有标准Ruby运行时的AppEngine Flex上,并且最终出现以下错误:

Updating service [default] (this may take several minutes)...failed.                                                                                                                                                                                                                         
ERROR: (gcloud.app.deploy) Error Response: [9] 
Application startup error:
/usr/bin/env: 'ruby2.5': No such file or directory

我在Gemfile中指定了ruby'2.5.1',并且还向设置为2.5.1的项目的根目录添加了一个明确的.ruby-version文件。

我在日志中没有其他可用的调试信息,也没有其他幻想。我的入口点命令是:

bundle exec rails server Puma -p $PORT

如果需要,我可以提供更多详细信息,不确定是否还有其他意义。有指针吗?据我所知,我这边没有要求特别在执行时使用的Ruby版本。

谢谢!

编辑:这是我的app.yaml文件

entrypoint: bundle exec rails server Puma -p $PORT
env: flex
runtime: ruby

更新:

在执行db:migrate之类的rake任务时,我可以验证自己是否遇到类似的问题。

--------- EXECUTE COMMAND ----------
bundle exec rake db:migrate
/usr/bin/env: 'ruby2.5': No such file or directory
ERROR
ERROR: build step 0 "gcr.io/google-appengine/exec-wrapper:latest" failed: exit status 127
--------------------------------------------------------------------------------------------------------------------------------------------------------

1 个答案:

答案 0 :(得分:1)

好的,我现在看到在本地调试docker映像后发生了什么。因为我在ubuntu上并且使用系统ruby来安装gem,所以它已将p.this-p{ vertical-align: middle; } 嵌入到捆绑到我的应用程序中的每个可执行脚本中。我删除了所有宝石,并切换到rbenv来管理Ruby版本,这减轻了unbuntu的ruby和我的应用之间的奇怪行为。

相关问题