【问题标题】:Ruby on Rails Gem or Plugin Rails VersionRuby on Rails Gem 或插件 Rails 版本
【发布时间】:2014-10-28 02:40:09
【问题描述】:

我正在开发一个 Rails 2.3.4 应用程序,我试图将其移植到 IIS 和 Helicon Zoo 上运行。我遇到的问题是:

c:\Zoo\Workers\ruby\lib\app.rb

在 ~32 行引发以下异常:

 STDERR
[tid-21079944] Only Rails 2.3.x and Rails 3.x are currently supported. (RuntimeError)    
C:/Zoo/Workers/ruby/lib/app.rb:33:in `build_app' 
C:/Zoo/Workers/ruby/lib/app.rb:16:in `initialize' 
C:/Zoo/Workers/ruby/lib/worker.rb:4:in `new' 
C:/Zoo/Workers/ruby/lib/worker.rb:4:in `initialize' 
C:/Zoo/Workers/ruby/zoorack.rb:30:in `new' 
C:/Zoo/Workers/ruby/zoorack.rb:30

这让我很困惑,因为之前运行此应用程序的 rails 版本是 2.3.4。我正在进行的工作假设是 Rails 可以以某种方式以旧模式运行插件?这有意义吗?我认为 Helicon Zoo 不支持在 2.3.4 之前的旧模式下回滚。

我稍微修改了 app.rb 文件以获取 rails 版本。

调用:Rails.version.to_s 我得到:2.2.2

在代码库中搜索“2.2.2”我发现该项目依赖于 actionpack lib 版本 2.2.2。

此外,rails 插件版本通常遵循它们所依赖的“rails”版本吗? 是否可以运行依赖于旧“rails”版本的插件?

【问题讨论】:

  • 问题可能是它需要 2.3 而不是 2.2 早期版本上出现的一些问题可能会支持此限制。
  • @TonyCool 我肯定在运行 rails 2.3.4。从 Helcion Zoo Web 控制台调用“rails -v”会产生“Rails 2.3.4”。
  • 会不会是插件检查 Rails 版本不正确?如果您使用 Zoo,则系统中必须安装 Ruby,例如 C:\Ruby19 尝试使用系统控制台导航并检查是否在此全局安装中安装了 rails。尝试从这个全局安装中删除 Rails,如果它存在的话。由于来自 Web 控制台的“rails -v”命令产生了正确的版本,因此您的环境似乎配置正确。但插件可能会忽略 GEM_HOME 等环境设置,通过硬编码的 Ruby 安装路径检查 Rails 版本。

标签: ruby-on-rails ruby rubygems heliconzoo


【解决方案1】:

这里的问题是我使用 gem 安装了 rails 2.3.4,但是将项目的 2.2.2 版本的 rails 复制到了 Helicon Zoo Web 根目录。 actionpack 库是 rails 的一部分。我以为它是一个单独的库。

【讨论】:

    猜你喜欢
    • 2015-02-04
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多