【发布时间】:2018-09-23 13:43:59
【问题描述】:
将标准 rails api 应用程序部署到 beanstalk 时,失败并显示以下日志:
++ export RUBY_ROOT=/opt/rubies/ruby-2.4.3
++ RUBY_ROOT=/opt/rubies/ruby-2.4.3
++ export RUBYOPT=
++ RUBYOPT=
++ export PATH=/opt/rubies/ruby-2.4.3/bin:/opt/elasticbeanstalk/lib/ruby/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
++ PATH=/opt/rubies/ruby-2.4.3/bin:/opt/elasticbeanstalk/lib/ruby/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
+++ /opt/rubies/ruby-2.4.3/bin/ruby -
++ eval 'export RUBY_ENGINE=ruby;
export RUBY_VERSION=2.4.3;
export GEM_ROOT="/opt/rubies/ruby-2.4.3/lib/ruby/gems/2.4.0";'
+++ export RUBY_ENGINE=ruby
+++ RUBY_ENGINE=ruby
+++ export RUBY_VERSION=2.4.3
+++ RUBY_VERSION=2.4.3
+++ export GEM_ROOT=/opt/rubies/ruby-2.4.3/lib/ruby/gems/2.4.0
+++ GEM_ROOT=/opt/rubies/ruby-2.4.3/lib/ruby/gems/2.4.0
++ (( 0 != 0 ))
+ cd /var/app/ondeck
+ su -s /bin/bash -c 'bundle exec /opt/elasticbeanstalk/support/scripts/check-for-rake-task.rb db:migrate' webapp
`/home/webapp` is not a directory.
Bundler will use `/tmp/bundler/home/webapp' as your home directory temporarily.
+ '[' false = true ']'
+ su -s /bin/bash -c 'leader_only bundle exec rake db:migrate' webapp
`/home/webapp` is not a directory.
Bundler will use `/tmp/bundler/home/webapp' as your home directory temporarily.
rake aborted!
Bundler::GemRequireError: There was an error while trying to load the gem 'rb-readline'.
Gem Load Error is: HOME environment variable (or HOMEDRIVE and HOMEPATH) must be set and point to a directory
我是 Beanstalk 的新手,有人可以指出问题所在吗? 似乎它正在尝试使用“/home/webapp”,但该目录不是以某种方式创建的。
非常感谢!
【问题讨论】:
-
这个答案适合你的情况吗? stackoverflow.com/a/46935141/336392
-
@ThomasR.Koll 感谢您的参考,与我的问题相同。但是解决方案还不够清楚。我尝试设置 HOME=/var/app/ondeck 。但仍然会引发相同的错误消息。似乎没有使用该变量。对我来说,解决方案 3 不清楚如何执行。
标签: ruby-on-rails ruby amazon-elastic-beanstalk