这是一个常见的问题,但没有一个答案似乎可以解决这个问题.我得到通常的:You have already activated rack 1.4.1, but your Gemfile requires rack 1.3.6. Using bundle exec may solve this.
清除Gemlock文件什么都没做,bundle install再次运行bundle install --binstubs没有做任何事情......运行没有解决问题,因为从你的应用程序根"运行./bin/{rake|rails|etc"只是造成了更多的错误.有没有办法解决这个看似常见的问题?
我在Elastic Beanstalk上运行标准的Rails 4.2.0应用程序.容器是运行Ruby 2.1.4,Puma 2.9.1和Nginx 1.6.2的64位Amazon Linux 2014.09 v1.0.9框.
当我将代码推送到此环境时,我在puma.log中收到以下错误:"您已经激活了机架1.5.2,但您的Gemfile需要机架1.6.0.bundle exec在您的命令之前可以解决此问题."
我不记得几个月前我在测试时看到这些错误,而且似乎是断断续续的.有时我会推动一切正常,其他时候我推动它失败了.
https://forums.aws.amazon.com/thread.jspa?messageID=599675表示可能存在错误/opt/elasticbeanstalk/support/conf/puma.conf,但我修补了该文件,但错误仍然存在.我还确保我的Gemfile中必须有puma和rack.
什么是最准备和最可持续的方式来让我的EC2实例加载正确版本的机架?