【发布时间】:2009-07-29 10:56:53
【问题描述】:
在尝试启动某个开源 Rails 项目的旧版本时,遇到了一个模糊的错误消息:
“无法激活activesupport (>= 2.3.2, runtime),已经激活了activesupport-2.1.2”
这是什么意思?我的盒子上安装了 rails 和 activesupport 的任何一个版本。
我很困惑……
【问题讨论】:
标签: ruby-on-rails activesupport
在尝试启动某个开源 Rails 项目的旧版本时,遇到了一个模糊的错误消息:
“无法激活activesupport (>= 2.3.2, runtime),已经激活了activesupport-2.1.2”
这是什么意思?我的盒子上安装了 rails 和 activesupport 的任何一个版本。
我很困惑……
【问题讨论】:
标签: ruby-on-rails activesupport
一般来说,gem 或插件会在 Rails 尝试加载 2.3.2 之前加载 2.1.2。解决这个问题的最佳方法可能是注释掉 environment.rb 中的每个 gem 需求,一次一个,看看会发生什么。
【讨论】:
如果您不需要旧版本的 gem,启动和运行的最简单方法是删除它。
gem uninstall activesupport
删除旧版本。
【讨论】:
dnf install compat-readline6 才能获得 libreadline.so.6。
您是否安装了最近的活动支持 gem?
【讨论】:
查看与错误消息关联的跟踪。我最近遇到了这个问题,其中有一个由 Capistrano 运行并预加载旧版本的脚本/进程/收割机实例。在跟踪中,它显示了试图加载旧版本的文件。
【讨论】:
由于该错误,Rails 的 Active Support 无法正常工作,因为在您的机器上安装了 2.1.2 版本的 Active Support Gem,而项目需要该 gem 的最新版本 (2.3.2)。
恕我直言,我认为你必须升级 gem,因为很多次我都解决了在终端上输入这个问题:
gem 安装 gem_name
其中 gem_name 是您要安装的 gem 的名称。 Ruby 将删除旧版本并安装新版本。 从http://rubyforge.org/frs/?group_id=570 下载 activesupport-2.3.2.gem 并将其放在你的项目目录下并执行命令。
您可以在这里找到其他宝石:http://rubygems.org/
【讨论】:
我也遇到了同样的错误,但后来我更新了 Rails 并下载了所有依赖项,问题得到了解决。
【讨论】: