Ruby on rails 使用windwos 7(无rvm)在任何源(Bundler::GemNotFound)中找不到rake-0.9.2.2

Ruby on rails 使用windwos 7(无rvm)在任何源(Bundler::GemNotFound)中找不到rake-0.9.2.2,ruby-on-rails,ruby,gem,rake,production,Ruby On Rails,Ruby,Gem,Rake,Production,人, 我是ROR的新手,不再是新手,但还没有将应用程序转移到生产环境的经验。为了理解迁移到生产流程的工作原理,我创建了一个非常简单的rails项目。以下是有关我的系统(在windows 7上运行)的一些基本信息: 中间件: ActionDispatch::Static Rack::Lock #<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x2a70f20> Rack::Runtime Rack::MethodOver

人,

我是ROR的新手,不再是新手,但还没有将应用程序转移到生产环境的经验。为了理解迁移到生产流程的工作原理,我创建了一个非常简单的rails项目。以下是有关我的系统(在windows 7上运行)的一些基本信息:

中间件:

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
ActionDispatch::静态
机架:锁
#
(我没有足够的声誉在这里发布图片…)

我已经尝试了很多(我为这个问题奋斗了约1.5周),但似乎一直都是同一个问题。webhost支持人员告诉我gems位于1.9.1中,而不是1.8中,对此我有一些疑问:

  • 的1.9.1(或1.8)版本是什么?红宝石?宝石
  • 如何强制查找1.9.1而不是1.8中的宝石
  • 我也尝试过使用pik作为版本管理器,但到目前为止我只使用webhostone,所以如果我安装了一个运行正常的ruby版本,我会很高兴。到目前为止,我不需要在任何版本之间切换。我也搬到了xubuntu,在那里创建了同样简单的应用程序,同样的结果


    如果你能分享你的经验就太好了,非常感谢

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

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


    您可以检查部署服务器上的应用程序文件夹是否包含捆绑到
    vendor/deploy
    中的
    rake
    gem

    我接到一个与我的webhost支持人员的电话,问题似乎与apache配置有关。它仍然没有被修复,但是上面描述的问题已经消失了。现在有一个新的问题,但这是一个不同的故事,我会在这个真正伟大的论坛搜索第一。
    非常感谢您的帮助。

    此外,我建议使用SCP或SFTP而不是FTP将您的应用程序传输到部署服务器上。两者都提供加密文件传输到经过加密验证的SSH服务器。更新:今天我删除了rails并使用了railsinstaller,它提供了与产品上相同的版本。服务器:服务器:“$rails-v”“rails 3.2.8”“$ruby-v”“ruby 1.9.2p0(2010-08-18修订版29036)[i486 linux]'$gem-v''1.8.24'本地窗口:'C:\Sites>rails-v''rails 3.2.8''C:\Sites>ruby-v''ruby 1.9.2p290(2011-07-09)[i386-mingw32]''C:\Sites>gem-v''1.8.24'问题仍然类似,生产rails正在寻找…gems/1.8/。。。而不是…gems/1.9.1/。。。请查看您的GEM文件以了解更多详细信息。这些错误看起来像gems位于1.8中,而对于Ruby1.9.3,它应该位于1.9.1目录中。这是我从gem环境中得到的:服务器:gem路径:-/usr/lib/ruby/gems/1.9.1-/home/.gem/ruby/1.9.1本地窗口:-gem路径:-C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1-C:/Users/scs/.gem/ruby/1.9.1看起来两者都在使用1.9.1.检查应用程序目录中的GemFile.File。您好,谢谢您的回复!我在部署站点上运行bundle安装并没有什么特别的原因,除了在没有bundle安装的情况下无法运行之外,我没有比尝试bundle安装更好的主意。。。检查供应商目录的好提示。我在railstest\vendor\bundle\ruby\1.9.1\gems\中找到了rake-0.9.2.2,所以到目前为止看起来还不错。
    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