0

我正在开发一个 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”版本的插件而不是它们运行的​​插件?

4

1 回答 1

0

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

于 2014-10-30T18:10:51.520 回答