没有这样的文件来加载Rails 3的Bundler错误

我有一个Rails 3应用程序准备好进行分期。

我还没有设置VPS主机。 因为我计划在最初的几个月内将所有内容都放在共享主机上。

问题:

cd myapp包检查结果:

The Gemfile's dependencies are satisfied 

乘客错误:

 Error message: no such file to load -- bundler Exception class: LoadError 

关于共享主机的令人沮丧的事情是我必须在config.ru上添加这些行:

 ENV['GEM_HOME'] = '/home/username/.gems' ENV['GEM_PATH'] = '$GEM_HOME:/usr/lib/ruby/gems/1.8' 

仍然没有运气。 同样没有这样的文件加载捆绑器错误出现。

有人有这个工作吗? Rails 3,Debian,共享主机(dreamhost)?

我可以继续在Slicehost / Fivebean上注册,但在此之前,我想知道为什么会出现这个错误。

谢谢。

解决方案在http://rvm.beginrescueend.com/integration/passenger/ 。 您需要将HTTP服务器指向passenger_ruby包装器而不是bin / ruby

例如,对于RVM和Apache,它应该是这样的:

 PassengerRuby /Users/username/.rvm/bin/passenger_ruby 

Passenger 加载之前不会从config.ru读取环境变量。 没有你的回溯,我不能肯定,但我怀疑如果你只是运行bundle lock一切都会有效。 如果您在此之后仍然遇到问题,那么在捆绑器README的底部有一个故障排除信息列表,我需要确切知道发生了什么。

托管在共享主机上的Rails已经是一个雷区,但在其所有预发布版本中抛出Rails 3,包括Bundler重新发明rubygems工作流程是一个拉动你的头发的方法。

我在Dreamhost上托管了几个Rails站点,但只有他们正式支持的版本,否则它不值得花时间。 您现在可以获得几乎与Dreamhost一样便宜的VPS,并且您将节省您自己时间的小时和小时。

如果你正在寻找一个简单的答案,我建议你投票以下并交叉:

在dreamhost上的Rails 3?

对我来说,这对于passenger_ruby指令来说是一个问题,即在安装结束时,passenger-install-nginx-module会吐出来。 它缺少ruby路径中的gemset名称。

这工作:(修复)

 passenger_ruby /Users/dzello/.rvm/wrappers/ruby-1.9.2-p0@rails3/ruby; 

这没有:(乘客安装-nginx模块吐出的是什么)

 passenger_ruby /Users/dzello/.rvm/rubies/ruby-1.9.2-p0/bin/ruby 

请注意,passenger_ruby行不包含正确的gem路径 – @ rails3(rails3是gemset名称)部分缺失,即使它适合乘客root。

找到一些随机的博客。 它有一些行’config.ru’,这似乎对我有用。

 ENV['GEM_HOME'] = '/home/farleyknight/.gems' ENV['GEM_PATH'] = '$GEM_HOME:/usr/lib/ruby/gems/1.8' require 'rubygems' Gem.clear_paths 

也许它会对你有用..

我有vps加上rvm,rails3,capistrano和nginx这个问题。

Passenger是由root用户安装的,但网站是由用户fox安装的。 Nginx(root)配置为以狐狸的身份运行应用程序。 以fox身份登录时,已安装Bundler但以root身份运行gem list bundler时没有显示gem。

乘客开始会给错误捆绑器丢失。 只有解决这个问题才能以root用户身份安装捆绑包。 我猜测乘客检查捆绑器,而不是在nginx中配置的用户狐狸。