2017-05-10 17 views
7

से Runnin rspec मैं इंटेलिजे के अंदर से मेरी चश्मा चला रहा हूं। मैंने अपने रत्न हटा दिए हैं और बंडल इंस्टॉल (किसी अन्य त्रुटि के कारण) का उपयोग करके उन्हें पुनर्स्थापित कर दिया है और अब चश्मा चलाने की कोशिश करते समय मुझे एक त्रुटि मिल रही है।IntelliJ

मैंने देखा है कि IntelliJ से चश्मा चल इसे इस्तेमाल करता है:

from /home/user/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 

जो मामले शेल से नहीं चल रहा है (मैं इसे जाँच kernel_require स्क्रिप्ट के अंदर एक प्रिंट रखा)।

इसके अलावा मैं देख रहा हूँ है कि IntelliJ से गहरे लाल रंग का संस्करण है:

"ruby 2.2.4: 230" 

और खोल से:

ruby -e 'print "ruby #{ RUBY_VERSION }p#{ RUBY_PATCHLEVEL }"' 
ruby 2.2.6p396%  

त्रुटि:

/home/user/.rvm/rubies/ruby-2.2.4/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /home/user/.rvm/gems/ruby-2.2.4/bin/rspec /home/user/workspace/auto-test/spec/pools/pool_cg_view_spec.rb --require teamcity/spec/runner/formatter/teamcity/formatter --format Spec::Runner::Formatter::TeamcityFormatter 
    Testing started at 10:21 ... 
    /home/user/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': incompatible library version - /home/user/.rvm/gems/ruby-2.2.4/gems/nokogiri-1.6.8/lib/nokogiri/nokogiri.so (LoadError) 
     from /home/user/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
     from /home/user/.rvm/gems/ruby-2.2.4/gems/nokogiri-1.6.8/lib/nokogiri.rb:32:in `rescue in <top (required)>' 
     from /home/user/.rvm/gems/ruby-2.2.4/gems/nokogiri-1.6.8/lib/nokogiri.rb:28:in `<top (required)>' 
     from /home/user/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
     from /home/user/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
     from /home/user/.rvm/gems/ruby-2.2.4/gems/capybara-2.7.1/lib/capybara.rb:3:in `<top (required)>' 
     from /home/user/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
     from /home/user/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
     from /home/user/.rvm/gems/ruby-2.2.4/gems/capybara-2.7.1/lib/capybara/dsl.rb:2:in `<top (required)>' 
     from /home/user/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
     from /home/user/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
     from /home/user/.rvm/gems/ruby-2.2.4/gems/capybara-2.7.1/lib/capybara/rspec.rb:2:in `<top (required)>' 
     from /home/user/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `require' 
     from /home/user/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `rescue in require' 
     from /home/user/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:39:in `require' 
     from /home/user/workspace/auto-test/spec/support/capybara.rb:3:in `<top (required)>' 
     from /home/user/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
     from /home/user/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
     from /home/user/workspace/auto-test/spec/spec_helper.rb:6:in `block in <top (required)>' 
     from /home/user/workspace/auto-test/spec/spec_helper.rb:6:in `each' 
     from /home/user/workspace/auto-test/spec/spec_helper.rb:6:in `<top (required)>' 
     from /home/user/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
     from /home/user/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
     from /home/user/.rvm/gems/ruby-2.2.4/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1295:in `block in requires=' 
     from /home/user/.rvm/gems/ruby-2.2.4/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1295:in `each' 
     from /home/user/.rvm/gems/ruby-2.2.4/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1295:in `requires=' 
     from /home/user/.rvm/gems/ruby-2.2.4/gems/rspec-core-3.4.1/lib/rspec/core/configuration_options.rb:109:in `block in process_options_into' 
     from /home/user/.rvm/gems/ruby-2.2.4/gems/rspec-core-3.4.1/lib/rspec/core/configuration_options.rb:108:in `each' 
     from /home/user/.rvm/gems/ruby-2.2.4/gems/rspec-core-3.4.1/lib/rspec/core/configuration_options.rb:108:in `process_options_into' 
     from /home/user/.rvm/gems/ruby-2.2.4/gems/rspec-core-3.4.1/lib/rspec/core/configuration_options.rb:21:in `configure' 
     from /home/user/.rvm/gems/ruby-2.2.4/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:101:in `setup' 
     from /home/user/.rvm/gems/ruby-2.2.4/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:88:in `run' 
     from /home/user/.rvm/gems/ruby-2.2.4/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:73:in `run' 
     from /home/user/.rvm/gems/ruby-2.2.4/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:41:in `invoke' 
     from /home/user/.rvm/gems/ruby-2.2.4/gems/rspec-core-3.4.1/exe/rspec:4:in `<top (required)>' 
     from /home/user/.rvm/gems/ruby-2.2.4/bin/rspec:23:in `load' 
     from /home/user/.rvm/gems/ruby-2.2.4/bin/rspec:23:in `<top (required)>' 
     from -e:1:in `load' 
     from -e:1:in `<main>' 

    Process finished with exit code 1 

अगर मैं चलाने का प्रयास खोल से चश्मे काम करेंगे, कोई गलती नहीं है, इसलिए मुझे लगता है कि समस्या रन की कॉन्फ़िगरेशन से संबंधित है लेकिन यह सुनिश्चित नहीं है कि क्या।

रन विन्यास जो अब तक काम किया:

enter image description here

मैं एक ही nokogiri मणि को हटाने और इसे पुनः स्थापित करने के लिए कोशिश की है, लेकिन अभी भी।

कोई विचार?

परियोजना संरचना: enter image description here

+0

खोल रूबी संस्करण में पाया जा सकता है मैन्युअल रूप से बदला जा सकता है ('rvm use' के माध्यम से) वहाँ IDE में एसडीके सेट से संबंधित कोई तुल्यकालन है, क्योंकि। इसके अलावा, क्या आप फ़ाइल से स्क्रीनशॉट संलग्न कर सकते हैं परियोजना संरचना | प्रश्न में मॉड्यूल। आरवीएम उपयोग करके – Olivia

+0

मुझे मिलता है: /home/user/.rvm/gems/ruby-2.2.4 का उपयोग करके, यह कैसे मदद करता है? क्या मुझे परियोजना संरचना के एसडीके भाग को संलग्न नहीं करना चाहिए? मॉड्यूल प्रासंगिक क्यों है? –

+0

'आरवीएम उपयोग' + आवश्यक रूबी संस्करण खोल में एसडीके बदल जाएगा। मैंने मॉड्यूल के बारे में पूछा क्योंकि आप एक ही प्रोजेक्ट में जोड़े गए कई मॉड्यूल (विभिन्न प्रकार के) जोड़ सकते हैं और उनमें से प्रत्येक का अपना एसडीके कॉन्फ़िगर किया जा सकता है। – Olivia

उत्तर

4

आप बाहर ओर इशारा करते हैं कि आप जब कंसोल का उपयोग कर रूबी 2.2.6 में कर रहे हैं। इंटेलिजे नोकोगिरी मणि को खोने के बारे में शिकायत कर रहा है।

मैं कल्पना कर सकता हूं कि शायद आपके अंतिम bundle install ने रूबी 2.2.4 (इंटेलिजे द्वारा उपयोग किए जाने वाले) का उपयोग नहीं किया था, लेकिन रत्न स्थापित करने के लिए 2.2.6 रूबी का उपयोग नहीं किया था।

मैं इस को सीमित करने के लिए निम्न चरणों का सुझाव देते हैं:

  • को सत्यापित करने और सुनिश्चित करें कि आप खोल पर गहरे लाल रंग का प्रयोग कर रहे हैं 2.2.4
  • रन bundle install सभी जवाहरात सुनिश्चित करने के लिए (यह बहुत महत्वपूर्ण है!) अपनी परियोजना के माणिक 2.2.4
  • के लिए स्थापित कर रहे हैं खोल में

अपने चश्मा चलाते हैं तो इंटेलीजे के साथ चल चश्मा कोशिश सफल होता है। ऊपर वर्णित चरणों को ठीक करने के मामले में यह काम करना चाहिए।

एक व्यक्तिगत नोट (यह पता नहीं है कि यह पहले से ही मामला है): मेरी परियोजनाओं में मेरे पास हमेशा प्रोजेक्ट के लिए सही रूबी संस्करण सुनिश्चित करने के लिए मेरे प्रोजेक्ट की रूट में .ruby-version फ़ाइल है। आप एक कदम आगे भी जा सकते हैं और .ruby-gemset फ़ाइल जोड़ सकते हैं।

अधिक जानकारी rvm docs

+0

हां भी लिख सकते हैं, तो मैंने बंडल इंस्टॉल चलाने के लिए अलग-अलग खोल का उपयोग किया, यह देखते हुए कि यह डिफ़ॉल्ट रूबी को इंगित करता है, 2.2.4 नहीं, धन्यवाद! –