2011-05-03 19 views
4

当我尝试执行rails serverthin start时,都会说:“无法在任何源中找到activesupport-3.0.6”。即使安装了主动支持,“无法在任何来源中找到有效支持”。

我安装了activesupport-3.0.7。我是否需要还原以便有效支持与我的Rails版本(3.0.6)相匹配?

+0

根据Google搜索,无论activesupport和Rails是否是相同版本,似乎都会出现此问题,并且似乎会在整个3.x.x系列中出现。例如,它发生在3.1.1上。 – 2012-09-09 18:40:32

回答

9

在轨道目录运行bundle install(或更改您的Gemfile要求的3.0.7,而不是3.0.6)

此外,运行rails命令时,你可以用bundle exec前缀它,以确保它的使用正确的版本:

bundle exec rails server 
+1

使用'bundle exec'前缀'rails'是不需要的,因为'rails'确保自己加载正确的版本。但是,所有其他命令都必须以“bundle exec”作为前缀(例如,“bundle exec rake”)。 – Dimitar 2011-08-02 22:48:30

+0

@Dimitar,如果没有'bundle exec',我实际上无法实现它。我正在使用rails 3.1.1。 – 2012-09-09 18:41:17

+0

@mohawkjohn,好点。我应该澄清 - 如果您安装了旧版本的Rails,例如Rails 2.x,它不会说“Bundler”,那么你确实需要使用'bundle exec rails'而不是简单的'rails'。 如果您只安装了Rails 3+,它将会起作用,因为从3.0.0开始,Rails将理解Bundler。尽管如此,更好地使它成为一个习惯和/或shell别名来总是编写'bundle exec'。 – Dimitar 2012-09-21 10:34:23

3

听起来像你Gemfile和安装的宝石是出不同步:

  1. 您的Gemfile -3.0.6或3.0.7中列出了哪个版本的Rails?您是否运行bundle install

+0

是的,我已经运行了软件包安装。 我试图运行的骨架Gemfile是3.0.6 ...我应该改变它吗? – 2011-05-03 23:46:48

+0

我试图将其更改为3.0.7,但它说找不到在任何源中找不到sqlite3-1.3.3 ...我如何同步所有内容? (对不起,我是超级noob) – 2011-05-03 23:48:45