2014-02-10 73 views
3

我剛剛開始使用Ruby on Rails進行一些開發並嘗試在本地運行應用程序。該應用程序正在安裝Ruby 1.8.7的生產環境中工作。bundle install - 需要Ruby版本> = 1.9.2?

我使用Ruby 1.8.7作爲默認設置在我的電腦上安裝了RVM。但是,當我嘗試運行bundle install,我收到以下錯誤消息:

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

我試着在我Gemfile尋找mime-types,但無法找到它;這導致我相信它是另一個寶石的依賴。

奇怪的是,生產服務器也設置了Ruby 1.8.7,所以我不確定應用程序最初是如何設置運行的,特別是當mime-types要求Ruby版本> = 1.9.2運行時。

我在生產服務器的Gemfile.lock中找不到mime-types,因此無法確定哪個gem試圖包含它。

有誰知道我該如何讓這個應用程序在本地工作,所以我可以開始發展?

我對Ruby或Rails沒有太多的經驗。

在此先感謝。

的Gemfile:

source :gemcutter 

gem "mongrel" 
gem "ruby-debug" 
gem "rails", "2.3.5" 
gem "inherited_resources", "1.0.2" 
gem "responders", "0.4.2" 
gem "activerecord-sqlserver-adapter", :path => "vendor/plugins/activerecord-sqlserver-adapter-1.0.0" 
gem "paperclip" 
gem "ferret" 
gem "crypt" # might need to install for system because of native dependencies 
gem "active_scaffold", :path => "vendor/plugins/active_scaffold" 
gem "render_component", :path => "vendor/plugins/render_component" 
gem "unobtrusive_date_picker", :path => "vendor/plugins/unobtrusive_date_picker" 
gem "acts_as_reportable" 
gem "will_paginate", :path => "vendor/plugins/will_paginate" 
gem "acts_as_transformer", :path => "vendor/plugins/acts_as_transformer" 
gem "acts_as_paranoid", :path => "vendor/plugins/acts_as_paranoid" 
gem "select_from_lookup", :path => "vendor/plugins/select_from_lookup" 
gem "pdfkit" 
gem "wirble" 
gem "hirb" 
gem "dbi" 
gem "dbd-odbc" 
gem "geokit" 
gem "htmlentities" 
gem "jeremyevans-exception_notification", :path => "vendor/plugins/exception_notification" 

group :development, :test do 
    gem "pdf-toolkit" 
    gem "rspec", "1.2.9" 
    gem "rspec-rails", "1.2.9" 
    gem "mongrel" 
    gem "mysql" 
    gem "populator" 
end 

group :staging do 
    gem "mongrel" 
    gem "ruby-debug" 
    gem "rails", "2.3.5" 
    gem "inherited_resources", "1.0.2" 
    gem "responders", "0.4.2" 
    gem "activerecord-sqlserver-adapter", :path => "vendor/plugins/activerecord-sqlserver-adapter-1.0.0" 
    gem "paperclip" 
    gem "ferret" 
    gem "crypt" # might need to install for system because of native dependencies 
    gem "unobtrusive_date_picker", :path => "vendor/plugins/unobtrusive_date_picker" 
    gem "acts_as_reportable" 
    gem "will_paginate", :path => "vendor/plugins/will_paginate" 
    gem "acts_as_transformer", :path => "vendor/plugins/acts_as_transformer" 
    gem "acts_as_paranoid", :path => "vendor/plugins/acts_as_paranoid" 
    gem "select_from_lookup", :path => "vendor/plugins/select_from_lookup" 
    gem "pdfkit" 
    gem "wirble" 
    gem "hirb" 
    gem "dbi" 
    gem "dbd-odbc" 
    gem "geokit" 
    gem "htmlentities" 
end 

group :test do 
    gem "ZenTest" 
end 

控制檯輸出:

Fetching gem metadata from http://rubygems.org/........... 
Fetching additional metadata from http://rubygems.org/.. 
Resolving dependencies... 
Using rake (10.1.1) 
Invalid gemspec in [/Users/imaginationplus/.rvm/gems/[email protected]/specifications/ZenTest-4.9.5.gemspec]: Illformed requirement ["< 3.0, >= 1.8"] 
Invalid gemspec in [/Users/imaginationplus/.rvm/gems/ruby-1.8.7-p374/specifications/ZenTest-4.9.5.gemspec]: Illformed requirement ["< 3.0, >= 1.8"] 
Installing ZenTest (4.9.5) 
Using activesupport (2.3.5) 
Using rack (1.0.1) 
Using actionpack (2.3.5) 
Using actionmailer (2.3.5) 
Invalid gemspec in [/Users/imaginationplus/.rvm/gems/[email protected]/specifications/ZenTest-4.9.5.gemspec]: Illformed requirement ["< 3.0, >= 1.8"] 
Invalid gemspec in [/Users/imaginationplus/.rvm/gems/ruby-1.8.7-p374/specifications/ZenTest-4.9.5.gemspec]: Illformed requirement ["< 3.0, >= 1.8"] 

active_scaffold at /Users/imaginationplus/gitlocal/cpo-core/vendor/plugins/active_scaffold did not have a valid gemspec. 
This prevents bundler from installing bins or native extensions, but that may not affect its functionality. 
The validation message from Rubygems was: 
    missing value for attribute summary 
Using active_scaffold (1.0.0) from source at vendor/plugins/active_scaffold 
Using activerecord (2.3.5) 

activerecord-sqlserver-adapter at /Users/imaginationplus/gitlocal/cpo-core/vendor/plugins/activerecord-sqlserver-adapter-1.0.0 did not have a valid gemspec. 
This prevents bundler from installing bins or native extensions, but that may not affect its functionality. 
The validation message from Rubygems was: 
    ["README.rdoc", "LICENSE", "CHANGELOG.rdoc"] are not files 
Using activerecord-sqlserver-adapter (1.0.0) from source at vendor/plugins/activerecord-sqlserver-adapter-1.0.0 
Using activeresource (2.3.5) 

acts_as_paranoid at /Users/imaginationplus/gitlocal/cpo-core/vendor/plugins/acts_as_paranoid did not have a valid gemspec. 
This prevents bundler from installing bins or native extensions, but that may not affect its functionality. 
The validation message from Rubygems was: 
    missing value for attribute summary 
Using acts_as_paranoid (1.0.0) from source at vendor/plugins/acts_as_paranoid 
Using fastercsv (1.5.5) 
Using color (1.5.1) 
Using transaction-simple (1.4.0.2) 
Using pdf-writer (1.1.8) 
Using ruport (1.6.3) 
Using acts_as_reportable (1.1.1) 

acts_as_transformer at /Users/imaginationplus/gitlocal/cpo-core/vendor/plugins/acts_as_transformer did not have a valid gemspec. 
This prevents bundler from installing bins or native extensions, but that may not affect its functionality. 
The validation message from Rubygems was: 
    ["README.rdoc", "LICENSE", "CHANGELOG.rdoc"] are not files 
Using acts_as_transformer (1.0.0) from source at vendor/plugins/acts_as_transformer 
Using cgi_multipart_eof_fix (2.5.0) 
Using cocaine (0.4.2) 
Using columnize (0.3.6) 
Using crypt (1.1.4) 
Using daemons (1.1.9) 
Using deprecated (2.0.1) 
Using dbi (0.4.5) 
Using dbd-odbc (0.2.5) 
Using fastthread (1.0.7) 
Using ferret (0.11.8.5) 
Using gem_plugin (0.2.3) 
Using multi_json (1.8.4) 
Using geokit (1.8.4) 
Using has_scope (0.5.1) 
Using hirb (0.7.1) 
Using htmlentities (4.3.1) 
Using responders (0.4.2) 
Using inherited_resources (1.0.2) 
Using jeremyevans-exception_notification (1.0.20100406) from source at vendor/plugins/exception_notification 
Using rbx-require-relative (0.0.9) 
Using linecache (0.46) 

Gem::InstallError: mime-types requires Ruby version >= 1.9.2. 
An error occurred while installing mime-types (2.1), and Bundler cannot continue. 
Make sure that `gem install mime-types -v '2.1'` succeeds before bundling. 
+0

您是否嘗試過把「寶石‘MIME類型’

通過安裝捆綁修復它「在你的Gemfile中並重新運行捆綁命令? – Eduardo

+0

是的!它仍然返回相同的錯誤消息:( –

+0

也許看着它在安裝之前安裝的Gem,它返回了這個錯誤之後,哪一個是? – Eduardo

回答

1

如果您升級到OSX 10.9小牛這可能是由剩餘的可執行文件從舊版本捆綁的引起先前與紅寶石安裝1.8並且仍然存在,因爲尚未安裝ruby 2.0的bundler。

sudo gem install bundler 

下面是一個完整的調查證實,這確實是問題的原因:

$ bundle install 
Fetching gem metadata from https://rubygems.org/.......... 
Fetching gem metadata from https://rubygems.org/.. 
Installing mime-types (2.3) 
Gem::InstallError: mime-types requires Ruby version >= 1.9.2. 
An error occured while installing mime-types (2.3), and Bundler cannot continue. 
Make sure that `gem install mime-types -v '2.3'` succeeds before bundling. 

$ gem contents bundler 
Unable to find gem 'bundler' in default gem paths 

Directories searched: 
/Library/Ruby/Gems/2.0.0/specifications 
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0/specifications 
/Users/yourusername/.gem/ruby/2.0.0/specifications 

$ head -n1 $(which bundler) 
#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby 

$ sudo gem install bundler 
sudo gem install bundler 
Fetching: bundler-1.6.3.gem (100%) 
Successfully installed bundler-1.6.3 
Parsing documentation for bundler-1.6.3 
Installing ri documentation for bundler-1.6.3 
1 gem installed 

$ head -n1 $(which bundle) 
#!/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby 

$ bundle install 
Fetching gem metadata from https://rubygems.org/......... 
Fetching additional metadata from https://rubygems.org/.. 
Resolving dependencies... 
Installing mime-types 2.3 
Using bundler 1.6.3 
Your bundle is complete! 
Use `bundle show [gemname]` to see where a bundled gem is installed. 
相關問題