ruby-on-rails - rails : "bundle install" failed because of old rails version(3. 2)

标签 ruby-on-rails ruby rubygems bundler

我最近得到了一个旧的 Rails 应用程序并试图通过 bundle install 安装 gems .但它一直在提醒我:

Bundler could not find compatible versions for gem "bundler": In Gemfile:rails (~> 3.2) was resolved to 3.2.22.5, which depends on bundler (~> 1.0)

经过一些谷歌搜索后,我了解到 Rails 3.2 将 bundler 版本卡住在 1.0。所以我通过执行 `gem uninstall bundler -v 2.0.1 and install bundler 1.0.10 卸载了我当前的 bundler(2.0.1) gem install bundler -v 1.0.10```,但出现另一个错误:

/home/alec/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/bundler-1.0.10/lib/bundler/shared_helpers.rb:3:in <top (required)>': undefined methodsource_index' for Gem:Module (NoMethodError) Did you mean? sources from /home/alec/.rbenv/versions/2.3.7/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in require' from /home/alec/.rbenv/versions/2.3.7/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:inrequire' from /home/alec/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/bundler-1.0.10/lib/bundler.rb:195:in default_gemfile' from /home/alec/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/bundler-1.0.10/lib/bundler.rb:165:inroot' from /home/alec/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/bundler-1.0.10/lib/bundler.rb:171:in app_config_path' from /home/alec/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/bundler-1.0.10/lib/bundler.rb:183:insettings' from /home/alec/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/bundler-1.0.10/lib/bundler/cli.rb:222:in install' from /home/alec/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/bundler-1.0.10/lib/bundler/vendor/thor/task.rb:22:inrun' from /home/alec/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/bundler-1.0.10/lib/bundler/vendor/thor/invocation.rb:118:in invoke_task' from /home/alec/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/bundler-1.0.10/lib/bundler/vendor/thor.rb:246:indispatch' from /home/alec/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/bundler-1.0.10/lib/bundler/vendor/thor/base.rb:389:in start' from /home/alec/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/bundler-1.0.10/bin/bundle:13:in' from /home/alec/.rbenv/versions/2.3.7/bin/bundle:22:in load' from /home/alec/.rbenv/versions/2.3.7/bin/bundle:22:in'

顺便说一句,我的 Gemfile:

source 'http://gems.ruby-china.com'

unless RUBY_PLATFORM =~ /w32/
  # unix-like only
  gem 'iconv'
  if RUBY_PLATFORM =~ /darwin/
    gem "rmagick", "= 2.15.4" ## osx must be this version
  elsif RUBY_PLATFORM =~ /linux/
    gem 'simple_xlsx_reader'
    gem "rmagick", "~> 2.13.1" ## centos yum install ImageMagick-devel
    gem 'pdfkit'
    gem 'wkhtmltopdf-binary'
    gem 'rqrcode', '~> 0.10.1'
    gem 'rqrcode_png'
  end
  gem 'certified'
  gem 'net-ssh', '2.9.1'
  gem 'jenkins_api_client'
  gem 'nokogiri'
end

#gem 'simple_xlsx_reader'
gem 'wechat',path: 'lib/wechat'
gem 'grack', path:'lib/grack'
gem 'gitlab', path: 'lib/gitlab-cli'
gem 'rest-client'
gem "mysql2", "= 0.3.18"
gem 'redis-rails'
gem 'rubyzip'
gem 'delayed_job_active_record'#, :group => :production
gem 'daemons'
gem 'grape', '~> 0.9.0'
gem 'grape-entity', '= 0.4.5'
gem 'rack-cors', :require => 'rack/cors'
gem 'seems_rateable', '~> 1.0.13'
gem 'rails', '~> 3.2'
gem "jquery-rails", "~> 2.0.2"
gem "i18n", "~> 0.6.0"
gem 'coderay', '~> 1.1.0'
gem "fastercsv", "~> 1.5.0", :platforms => [:mri_18, :mingw_18, :jruby]
gem "builder", "3.0.0"
gem 'acts-as-taggable-on', '2.4.1'
gem 'spreadsheet'
gem 'ruby-ole'
gem 'rails_kindeditor',path:'lib/rails_kindeditor'
gem 'binding_of_caller'
gem 'chinese_pinyin'
# gem 'sunspot_rails', '~> 1.3.3'
# gem 'sunspot_solr'
# gem 'sunspot'
# gem 'progress_bar'
gem  'ansi'

gem 'kaminari'
gem 'elasticsearch-model'
gem 'elasticsearch-rails'

#rails 3.2.22.2 bug
# gem "test-unit", "~>3.0"

### profile
# gem 'oneapm_rpm'
# gem 'therubyracer'

group :development do
  gem 'grape-swagger'
  gem 'better_errors', '~> 1.1.0'
  # gem "query_reviewer"
  gem 'rack-mini-profiler', '~> 0.9.3'
  if RUBY_PLATFORM =~ /w32/
    gem  'win32console'
  end

  if RUBY_PLATFORM =~ /darwin/
    gem 'puma'
end
end

group :development, :test do
    if RUBY_VERSION >= '2.0.0'
      gem 'pry-byebug'
    gem "test-unit", "~>3.0"
    end
  gem 'rspec-rails', '~> 3.0'
  gem 'factory_girl_rails'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
end

# Optional gem for LDAP authentication
group :ldap do
  gem "net-ldap", "~> 0.3.1"
end


# Optional gem for OpenID authentication
group :openid do
  gem "ruby-openid", "~> 2.1.4", :require => "openid"
  gem "rack-openid"
end


database_file = File.join(File.dirname(__FILE__), "config/database.yml")
if File.exist?(database_file)
else
  warn("Please configure your config/database.yml first")
end

# Load plugins' Gemfiles
Dir.glob File.expand_path("../plugins/*/Gemfile", __FILE__) do |file|
  puts "Loading #{file} ..." if $DEBUG # `ruby -d` or `bundle -v`
  instance_eval File.read(file)
end

我到处搜索,但没有任何用处。非常感谢任何帮助!谢谢。

最佳答案

旧版本的 bundlerrubygems 似乎有些不兼容。

我能够通过更新 bundler 成功安装您的 Gemfile(在此代码段中,我将其更新为最新的可用 v1):

$ gem uninstall bundler
$ gem install bundler -v '~>1'
$ bundle install

关于ruby-on-rails - rails : "bundle install" failed because of old rails version(3. 2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54954531/

相关文章:

ruby-on-rails - 使用 Ruby on Rails 从数据库中的 yaml 序列化字段取回大小数

ruby - 在 Rails 3 Controller 中需要 gem 失败,出现 "Constant Missing"

html - 最佳网页抓取 Ruby on Rails 库,可处理由 javascript 生成的动态 HTML

ruby-on-rails-3 - 如何从github获取gem的特定 "commit"?

ruby-on-rails - block 中出现意外的语法错误

jquery - 使用 jQuery html 动态添加嵌入的 ruby

ruby-on-rails - RVM 安装错误

ruby - 为什么 rubocop 的 Rails/FilePath cop 推荐 Rails.root.join

ruby - ERROR URI::InvalidURIError: Bad URI(is not URI?) 因为浏览器

ruby "class << self"可能会导致 gem 错误?