2012-05-02 33 views
1

背景Bundle說寶石丟失 - 但它不是?

我保持了Ruby on Rails的網站內容,但我真的有軌沒有經驗。

當試圖運行軌道服務器:rails s我得到這個:

Could not find activesupport-3.2.0 in any of the sources

Run bundle install to install missing gems

我運行bundle安裝

Gem::InstallError: factory_girl requires Ruby version >= 1.9.2. An error occured while installing factory_girl (3.2.0), and Bundler cannot continue.

Make sure that gem install factory_girl -v '3.2.0' succeeds before bundling.

好安裝factory_girl按指令:

Successfully installed factory_girl-3.2.0 1 gem installed

再次運行軟件包安裝:

Gem::InstallError: factory_girl requires Ruby version >= 1.9.2. An error occured while installing factory_girl (3.2.0), and Bundler cannot continue. Make sure that gem install factory_girl -v '3.2.0' succeeds before bundling.

從頭開始,請求幫助StackOverflow。你有什麼主意嗎?任何幫助深表感謝。

信息

昨天我試圖運行軌道服務器時,得到了一個跨胎面錯誤。所以根據this SO advice我建議我已經加入了RVM並安裝了rbenv和bundler而不是RVM。

我試圖與兩個紅寶石1.9.3-P125和1.9.3-RC1輸出的gem list

示出了作爲factory_girl安裝。

  • ...
  • factory_girl(3.2.0)
  • ...

gem environment輸出顯示可能已經安裝了一些問題與待辦事項1.9.1也?

RubyGems Environment:
- RUBYGEMS VERSION: 1.8.10
- RUBY VERSION: 1.9.3 (2011-09-23 patchlevel -1) [x86_64-darwin11.3.0]
- INSTALLATION DIRECTORY: /Users/andreas/.rbenv/versions/1.9.3-rc1/lib/ruby/gems/1.9.1
- RUBY EXECUTABLE: /Users/andreas/.rbenv/versions/1.9.3-rc1/bin/ruby
- EXECUTABLE DIRECTORY: /Users/andreas/.rbenv/versions/1.9.3-rc1/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-11
- GEM PATHS:
- /Users/andreas/.rbenv/versions/1.9.3-rc1/lib/ruby/gems/1.9.1
- /Users/andreas/.gem/ruby/1.9.1
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- "gem" => "--no-ri --no-rdoc"
- REMOTE SOURCES:
- http://rubygems.org/

任何幫助,非常感謝。

+0

哪個版本的紅寶石,你在終端輸入時獲取:紅寶石-v – Hoetmaaiers

+0

我覺得你的紅寶石1.9.1 .... => /Users/andreas/.gem/ruby /1.9.1 – shuriu

+0

@RobinH我得到:ruby 1.9.3dev(2011-09-23 rev ision 33323)[x86_64-darwin11.3.0] – Andreas

回答

3

@jdoe在評論中回答。它的工作。顯然我需要刪除Gemfile.lock

我不知道爲什麼或如何。我只是在這裏發佈,直到@jdoe出現並收集他的觀點並提供真實答案。

+0

做到這一點無濟於事:( –

0

首先要做的事 - 我沒有經驗rbenv。

使用RVM的好處之一是,它可以幫助您很清楚地瞭解Ruby環境的運動部分。

RVM名單會給你的紅寶石 RVM寶石名單列表會給你gemsets的列表(這不應該是,如果使用捆綁必要)

現在,這裏有一些技巧性的東西:

  • Gemfile中所使用的捆紮機,以確定如果未指定任何安裝什麼
  • ,捆紮機將嘗試安裝最新版本的寶石。
  • 如果創業板的最新版本與您當前的Ruby不兼容,那麼......
    • 你可以改變的Ruby版本(RVM安裝1.9.3例如)
    • 你可以告訴的Gemfile以不同程度的嚴格程度指定您想要的寶石版本。
      • 你能告訴我喜歡縮進的點嗎?
      • gem「vcr」,「〜> 1.11.3」#=>這會說你偏好1.11.3,但是1.11範圍內的任何東西都是可以接受的
      • gem'factory_girl','3.2.0'#=> this說,只安裝factory_girl的版本3.2.0,沒有別的

此外,任何事情之前,應該運行包檢查看什麼打捆不得不說的你的寶石。

0

你試過嗎?

bundle exec rails s 
0

確保所有要安裝的寶石是在Gemfile中,因爲如果創業板不加入Gemfile中,即使你安裝了手動您的Rails應用程序沒有得到它:)

樣品的Gemfile會是

gem 'rails', '3.0.0' 

gem 'mysql2', '< 0.3' 
gem 'rails3-jquery-autocomplete' 

#authorization 
gem 'authlogic' 
gem 'hoptoad_notifier' 

#reporting 
gem 'lazy_high_charts' 

group :test do 
    gem 'rspec', '2.0.0' 
    gem 'rspec-rails', '2.0 ' 
    gem "test-unit" 
end 

乾杯

相關問題