我在部署rails应用程序时遇到了问题.我在AWS博客上创建了一个类似于示例的钩子http://ruby.awsblog.com/post/Tx2AK2MFX0QHRIO/Deploying-Ruby-Applications-to-AWS-Elastic- Beanstalk-with-Git喜欢:
packages:
yum:
git: []
Run Code Online (Sandbox Code Playgroud)
即使我运行一个捆绑包来创建供应商/缓存以获得所有宝石......并且仍然得到:git://github.com/refinery/refinerycms-search.git(在2-0-stable)未被检查出.请运行bundle install(Bundler :: GitError)
任何帮助都会很好,我们会尝试将所有应用程序移至EB.但是认为git没有安装或正在发生什么......我需要在它创建的EB ec2实例上使用git.
堆栈跟踪:
Error message:
git://github.com/refinery/refinerycms-search.git (at 2-0-stable) is not checked out. Please run `bundle install` (Bundler::GitError)
Exception class:
PhusionPassenger::UnknownError
Application root:
/var/app/current
Backtrace:
# File Line Location
0 /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/source.rb 801 in `rescue in load_spec_files'
1 /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/source.rb 799 in `load_spec_files'
2 /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/source.rb 381 in `local_specs'
3 /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/source.rb 774 in `specs'
4 /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/definition.rb 174 in `block in resolve'
5 /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/definition.rb 172 in `each'
6 /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/definition.rb 172 in …Run Code Online (Sandbox Code Playgroud) ruby ruby-on-rails amazon-ec2 amazon-web-services amazon-elastic-beanstalk
似乎在开发机器上(比如在Macbook上),如果我们使用bundle install --deployment,所有的宝石都将安装到vendor/bundle文件夹中,如果我们有多个Rails 3项目(一些项目仅用于测试Rails 3),它只使用更多的磁盘空间.如果不是--deployment,则gems将位于"generic"文件夹中而不是项目文件夹内,因此可以跨项目共享.这是真的?
另一件事是,我们是否需要将所有文件添加vendor/bundle到我们的存储库并推送它?似乎如果我们这样做,我们只是堵塞了回购,因为如果我们不这样做,所有适当的宝石将通过bundle install使用Gemfile.lock无论如何指定的所有宝石来安装.(这Gemfile.lock是回购中的一个小文件).这也是真的吗?
我正在尝试使用最新的phusion passenger 2.2.11和ruby-enterprise-1.8.7-2010.01部署rails3应用程序.我正在使用捆绑器,但乘客似乎无法找到.bundle目录.
错误信息:
git://github.com/rails/rails.git (at master) is not checked out. Please run `bundle install` (Bundler::PathError)
Run Code Online (Sandbox Code Playgroud)
我在哪里安装.bundle?我在哪里告诉乘客使用哪个捆绑包?任何提示?
谢谢!