0

当我ruby application.rb在我的Sinatra 分叉应用程序中运行时,我在控制台中有:

~/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1637:in `raise_if_conflicts': Unable to activate sinatra-contrib-1.3.1, because sinatra-1.4.0 conflicts with sinatra (~> 1.3.0) (Gem::LoadError)

看到:

bundle show sinatra
~/.rvm/gems/ruby-1.9.3-p194/bundler/gems/sinatra-b18310f73635

# Gemfile
source :rubygems
gem 'sinatra', git: 'https://github.com/juanpastas/sinatra.git'

bundle exec ruby application.rb 
application.rb:2:in `require': cannot load such file -- sinatra/content_for (LoadError)

如果我添加gem 'sinatra-contrib'到 Gemfile,然后运行bundle,我得到:

Bundler could not find compatible versions for gem "sinatra":
  In Gemfile:
    sinatra-contrib (>= 0) ruby depends on
      sinatra (~> 1.3.0) ruby

    sinatra (1.4.0)
4

1 回答 1

2

您使用的是旧版本sinatra-contrib,请切换到 git 版本:

source :rubygems
gem 'sinatra', git: 'https://github.com/juanpastas/sinatra.git'
gem 'sinatra-contrib', git: 'https://github.com/sinatra/sinatra-contrib.git'
于 2012-07-31T22:43:43.020 回答