使用Windows 7(没有rvm)在任何源(Bundler :: GemNotFound)中找不到rake-0.9.2.2

时间:2012-11-06 14:13:33

标签: ruby-on-rails ruby gem rake production

人,

我是ROR的新手,不再是血腥的新手(不再是),但对将应用程序转移到制作方面没有经验。为了理解移动到生产流程如何工作,我创建了一个非常简单的rails项目。以下是我的系统的一些基本信息(在Windows 7上运行):

Ruby version                1.9.3 (i386-mingw32)
RubyGems version            1.8.24
Rack version                1.4
Rails version               3.2.8
JavaScript Runtime          JScript
Active Record version       3.2.8
Action Pack version         3.2.8
Active Resource version     3.2.8
Action Mailer version       3.2.8
Active Support version      3.2.8
Application root            C:/Sites/railstest
Environment                 development
Database adapter            sqlite3
Database schema version     0

中间件:

ActionDispatch::Static
Rack::Lock
#<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x2a70f20>
Rack::Runtime
Rack::MethodOverride
ActionDispatch::RequestId
Rails::Rack::Logger
ActionDispatch::ShowExceptions
ActionDispatch::DebugExceptions
ActionDispatch::RemoteIp
ActionDispatch::Reloader
ActionDispatch::Callbacks
ActiveRecord::ConnectionAdapters::ConnectionManagement
ActiveRecord::QueryCache
ActionDispatch::Cookies
ActionDispatch::Session::CookieStore
ActionDispatch::Flash
ActionDispatch::ParamsParser
ActionDispatch::Head
Rack::ConditionalGet
Rack::ETag
ActionDispatch::BestStandardsSupport

我的虚拟主机是webhostone。

以下是我的所作所为:

  1. 使用:rails new railstest
  2. 生成一个名为railstest的新rails应用程序
  3. 使用我的webhost上使用的版本更新了gemfile
  4. 运行“bundle install --deployment”以将所有gem都包含在vendor-directory中。
  5. FTP已将所有内容发送到webhost
  6. 通过PuTTY
  7. 成功运行捆绑安装

    但是当我打电话给网站时,我总是得到这样的东西: http://www.kernification.de/rails/info/properties (我没有足够的声誉在这里发布图片......)

    我已经尝试了很多(我现在用这个问题争取~1.5周),但它似乎始终是同一个问题。 webhost支持告诉我宝石位于1.9.1,而不是1.8,我对此有一些疑问:

    1. 什么是1.9.1(或1.8)的版本?红宝石?宝石?
    2. 如何强制在1.9.1而不是1.8?
    3. 中查找宝石

      我也尝试过使用pik作为版本管理器,但到目前为止我只会使用webhostone,所以如果我安装了一个版本的ruby,我很高兴。到目前为止,我不需要在任何版本之间切换。我也转移到xubuntu,在那里创建了相同的简单应用程序,结果相同。

      如果你能分享你的经验会很棒,非常感谢!

2 个答案:

答案 0 :(得分:0)

您列出的版本号与Ruby版本匹配。通过设置GEM_HOME环境变量,可以告诉Rubygems在哪里查找本地gem存储库。但这可能不是你想要做的,因为Bundler应该提供所有的宝石。

通过调用bundle install --deployment您的应用程序所需的所有gem应该捆绑在vendor/bundle目录中。因此,我不明白为什么要在部署站点上再次调用bundle install

您可以检查部署服务器上的应用程序文件夹是否包含绑定到rake的{​​{1}} gem。

答案 1 :(得分:0)

我接到了我的webhost支持电话,看起来这个问题与apache配置有关。它仍然没有修复,但上述问题已经消失。现在有一个新问题,但这是一个不同的故事,我将首先在这个非常棒的论坛中搜索。 非常感谢你的帮助。