【问题标题】:"Could not find activesupport in any of the sources," even though activesupport is installed.“在任何来源中都找不到 activesupport”,即使安装了 activesupport。
【发布时间】:2011-05-03 23:41:12
【问题描述】:

当我尝试执行 rails serverthin start 时,两者都说:“在任何来源中都找不到 activesupport-3.0.6。”

我安装了 activesupport-3.0.7。我是否需要还原以使 activesupport 与我的 Rails 版本 (3.0.6) 匹配?

【问题讨论】:

  • 无论 activesupport 和 Rails 是否是同一个版本,这个问题都适用,并且根据谷歌搜索似乎出现在整个 3.x.x 系列中。例如,3.1.1 就发生在我身上。

标签: ruby-on-rails bundler activesupport


【解决方案1】:

在您的 rails 目录中运行 bundle install(或将您的 Gemfile 更改为需要 3.0.7 而不是 3.0.6)

另外,在运行rails 命令时,您可以在它前面加上bundle exec 以确保它使用的是正确的版本:

bundle exec rails server

【讨论】:

  • 不需要为rails 加上bundle exec 前缀,因为rails 确保自己加载正确的版本。但是,所有其他命令必须以 bundle exec 为前缀(例如,bundle exec rake)。
  • @Dimitar,如果没有bundle exec,我实际上无法让它工作。我正在使用 Rails 3.1.1。
  • @mohawkjohn,说得好。我应该澄清一下——如果你安装了旧版本的 Rails,例如Rails 2.x,它不会说“Bundler”,那么你确实需要使用bundle exec rails 而不是简单的rails。如果你只安装了 Rails 3+,它会工作,因为从 3.0.0 开始,Rails 理解 Bundler。不过,最好将始终写为bundle exec 成为一种习惯和/或 shell 别名。
  • @Dimitar,我想这可能是因为我从 Rails 2 升级到 Rails 3。但这只是猜测。我肯定用的是 3。=)
【解决方案2】:

听起来您的 Gemfile 和您安装的 gem 不同步:

  1. Gemfile 中列出了哪个版本的 Rails——3.0.6 还是 3.0.7?

  2. 你跑bundle install了吗?

【讨论】:

  • 是的,我已经运行了捆绑安装。我正在尝试运行的骨架的 Gemfile 是 3.0.6...我应该更改它吗?
  • 我尝试将其更改为 3.0.7,但随后显示找不到在任何来源中都找不到 sqlite3-1.3.3...如何同步所有内容? (对不起,我是超级菜鸟)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-02
  • 1970-01-01
  • 2022-10-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多