2011-05-03 23 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