2016-08-02 8 views
11

मैंने अभी अपना ओएस उबंटू 14.04 एलटीएस से 16.04 तक अपडेट किया है, और मैं वहां अपनी रूबी सिनात्रा परियोजना चला रहा था। बात अद्यतन के बाद मैं करने की कोशिश की सर्वर भाग गया और फिर ब्राउज़र में स्थानीय होस्ट मैं यह त्रुटि बूट त्रुटिsinatra-1.4.7 को सक्रिय करने में असमर्थ, क्योंकि रैक-2.0.1 रैक के साथ संघर्ष (~> 1.5)

Something went wrong while loading app.rb 
Gem::ConflictError: Unable to activate sinatra-1.4.7, because rack-2.0.1 conflicts with rack (~> 1.5) 

/usr/lib/ruby/2.3.0/rubygems/specification.rb:2286:in `raise_if_conflicts' 
/usr/lib/ruby/2.3.0/rubygems/specification.rb:1407:in `activate' 
/usr/lib/ruby/2.3.0/rubygems.rb:196:in `rescue in try_activate' 
/usr/lib/ruby/2.3.0/rubygems.rb:193:in `try_activate' 
/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:125:in `rescue in require' 
/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require' 
/home/leandro/Downloads/git-master/ruby sinatra/app.rb:1:in `<top (required)>' 
/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
/var/lib/gems/2.3.0/gems/shotgun-0.9.1/lib/shotgun/loader.rb:115:in `inner_app' 
/var/lib/gems/2.3.0/gems/shotgun-0.9.1/lib/shotgun/loader.rb:103:in `assemble_app' 
/var/lib/gems/2.3.0/gems/shotgun-0.9.1/lib/shotgun/loader.rb:86:in `proceed_as_child' 
/var/lib/gems/2.3.0/gems/shotgun-0.9.1/lib/shotgun/loader.rb:31:in `call!' 
/var/lib/gems/2.3.0/gems/shotgun-0.9.1/lib/shotgun/loader.rb:18:in `call' 
/var/lib/gems/2.3.0/gems/shotgun-0.9.1/lib/shotgun/favicon.rb:12:in `call' 
/var/lib/gems/2.3.0/gems/shotgun-0.9.1/lib/shotgun/static.rb:14:in `call' 
/var/lib/gems/2.3.0/gems/rack-2.0.1/lib/rack/urlmap.rb:68:in `block in call' 
/var/lib/gems/2.3.0/gems/rack-2.0.1/lib/rack/urlmap.rb:53:in `each' 
/var/lib/gems/2.3.0/gems/rack-2.0.1/lib/rack/urlmap.rb:53:in `call' 
/var/lib/gems/2.3.0/gems/rack-2.0.1/lib/rack/builder.rb:153:in `call' 
/var/lib/gems/2.3.0/gems/rack-2.0.1/lib/rack/handler/webrick.rb:86:in `service' 
/usr/lib/ruby/2.3.0/webrick/httpserver.rb:140:in `service' 
/usr/lib/ruby/2.3.0/webrick/httpserver.rb:96:in `run' 
/usr/lib/ruby/2.3.0/webrick/server.rb:296:in `block in start_thread' 
मिला है

मैं पहले से ही मणि बंडल स्थापित करने और है कि app.rb. वाले फ़ोल्डर के अंदर स्थापित बंडल की कोशिश की मैंने मणि फ़ाइल में मणि "रैक", "~> 1.5" भी लगाया लेकिन मुझे अभी भी एक ही त्रुटि है। क्या आप मेरी मदद कर सकते हैं? अग्रिम में बहुत बहुत धन्यवाद

उत्तर

14

स्वचालित परीक्षणों का एक सूट चलाने की कोशिश करते समय मुझे एक ही समस्या (बिल्कुल वही त्रुटि संदेश) था, जो मैं बनाए रखता हूं कि किसी भी तरह से सिनात्रा पर निर्भर करता है।

Gem::ConflictError: Unable to activate sinatra-1.4.7, because rack-2.0.1 conflicts with rack (~> 1.5) 

मैं this Japanese (?) blog

मेरे लिए rack-2.0.1 की स्थापना रद्द चाल थी पर एक समाधान पाया,

> gem uninstall rack 

Select gem to uninstall: 
1. rack-2.0.1 
2. rack-1.6.4 
3. All versions 

> 1 

Successfully uninstalled rack-2.0.1 
5

मैं एक ही समस्या है, और rack संस्करण 2.0.1 रेल 5 का एक निर्भरता है तो मैं इसे हटा नहीं सकता। तो मुझे इसके चारों ओर एक अलग (बेहतर?) रास्ता मिला।

यकीन है कि यह अपने Gemfile में है:

gem 'rack', '<2.0' 
gem 'sinatra' 

... तो bundle exec <server-start-command> अपेक्षा के अनुरूप काम करना चाहिए।

1

किसी कारण ऐसा हुआ है जब मैं Gemfile (rspec-sidekiq) के लिए एक मणि जोड़ा गया है और करना भूल के लिए:

bundle install 
संबंधित मुद्दे

 संबंधित मुद्दे