bundle install – 需要Ruby版本> = 1.9.2?

我刚开始使用Ruby on Rails进行一些开发并尝试在本地运行应用程序。 该应用程序正在安装了Ruby 1.8.7的生产环境中工作。

我在我的计算机上使用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但却找不到它; 这让我相信它是来自另一个gem的依赖。

奇怪的是,生产服务器也是使用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/ruby-1.8.7-p374@global/specifications/ZenTest-4.9.5.gemspec]: Illformed requirement ["= 1.8"] Invalid gemspec in [/Users/imaginationplus/.rvm/gems/ruby-1.8.7-p374/specifications/ZenTest-4.9.5.gemspec]: Illformed requirement ["= 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/ruby-1.8.7-p374@global/specifications/ZenTest-4.9.5.gemspec]: Illformed requirement ["= 1.8"] Invalid gemspec in [/Users/imaginationplus/.rvm/gems/ruby-1.8.7-p374/specifications/ZenTest-4.9.5.gemspec]: Illformed requirement ["= 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. 

如果您升级到OSX 10.9 Mavericks,这可能是由以前安装了ruby 1.8的旧版Bundler中的剩余可执行文件引起的,因为还没有为ruby 2.0安装Bundler。

通过安装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.