捆绑安装 - 需要 Ruby 版本 >= 1.9.2? [英] bundle install - requires Ruby version >= 1.9.2?

查看:61
本文介绍了捆绑安装 - 需要 Ruby 版本 >= 1.9.2?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I just started doing some development with a Ruby on Rails and trying to run the application locally. The app is working in a production environment with Ruby 1.8.7 installed.

我在我的计算机上设置了 RVM,默认使用 Ruby 1.8.7.但是,当我尝试运行 bundle install 时,我收到以下错误消息:

I setup RVM on my computer with Ruby 1.8.7 as the default. But, when I try to run bundle install, I am getting the following error message:

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 的依赖.

I tried looking for mime-types in my Gemfile but could not find it; which leads me to believe it's a dependency from another gem.

奇怪的是,生产服务器也是使用 Ruby 1.8.7 设置的,所以我不太确定应用程序最初是如何设置运行的,尤其是当 mime-types 需要 Ruby 版本时>= 1.9.2 运行.

The weird thing is that the production server is also setup with Ruby 1.8.7 so I'm not really sure how the application was originally setup to run especially when mime-types requires Ruby version >= 1.9.2 to run.

我在生产服务器上的 Gemfile.lock 中找不到 mime-types,因此无法确定是什么 gem 试图包含它.

I can't find mime-types in my Gemfile.lock on the production server and therefore can't pinpoint what gem is trying to include it.

有谁知道我怎样才能让这个应用在本地运行,这样我就可以开始开发了吗?

Does anyone know how I can get this app to work locally so I can begin development?

我对 Ruby 或 Rails 的经验并不多.

I don't really have a lot of experience with Ruby or Rails.

提前致谢.

宝石文件:

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 ["< 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/ruby-1.8.7-p374@global/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.

推荐答案

如果您升级到 OSX 10.9 Mavericks,这可能是由以前随 ruby​​ 1.8 安装的旧版 bundler 的剩余可执行文件引起的并且仍然存在,因为尚未为 ruby​​ 2.0 安装 bundler.

If you upgraded to OSX 10.9 Mavericks this might be caused by a leftover executable from an old version of bundler previously installed with ruby 1.8 and still present because bundler has not yet been installed for ruby 2.0.

通过安装 bundler 修复它:

Fix it by installing bundler:

sudo gem install bundler

这是一个完整的调查,证实这确实是问题的原因:

Here's a complete investigation verifying that this is indeed the cause of the problem:

$ 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.

这篇关于捆绑安装 - 需要 Ruby 版本 &gt;= 1.9.2?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆