2015-11-16 8 views
6

कहीं से बाहर नहीं, और कुछ भी बदले बिना, मुझे यह त्रुटि मिल रही है (और टीम पर अन्य लोगों ने भी ऐसा किया है)।NoMethodError: शून्य के लिए अपरिभाषित विधि 'spec': NilClass - active_utils, factory_girl और अधिक रत्न

यह कुछ रत्नों (एक गिट शाखा निर्दिष्ट करने वाले) के लिए हो रहा है और केवल तभी होता है जब हम पर्यावरण को पुन: बनाते हैं (योनि में)। हमने कुछ भी नहीं बदला।

कोई विचार? अधिक जानकारी इस प्रकार है:

Using active_utils (2.0.0) from git://github.com/Shopify/active_utils.git (at v2.0.0) 
NoMethodError: undefined method `spec' for nil:NilClass 
An error occurred while installing active_utils (2.0.0), and Bundler cannot continue. 
Make sure that `gem install active_utils -v '2.0.0'` succeeds before bundling. 

Using factory_girl (2.6.5) from https://github.com/thoughtbot/factory_girl (at 2.6.x) 
NoMethodError: undefined method `spec' for nil:NilClass 
An error occurred while installing factory_girl (2.6.5), and Bundler cannot continue. 
Make sure that `gem install factory_girl -v '2.6.5'` succeeds before bundling. 
  • चल रहा है "मणि स्थापित active_utils -v '2.0.0'" लेकिन हमेशा बंडल काम करता है विफल रहता है।
  • को साफ कर दिया मणि कैश, लेकिन मदद नहीं की

लगता है यह Gemfile में सभी प्रविष्टियों एक शाखा है कि में नाकाम रहने के लिए शुरू कर दिया निर्दिष्ट करने जैसे।

gem 'active_utils', :git => 'git://github.com/Shopify/active_utils.git', :branch => 'v2.0.0' 
gem "will_paginate", :git => "git://github.com/mislav/will_paginate.git", :branch => "2-3-stable" 

उत्तर

13

तो, यह पता चला कि यह रूबीजम्स के हालिया अपग्रेड के कारण हुआ था। पिछले संस्करण को मजबूर करना काम किया।

gem update --system 2.4.8 
1

हालांकि पहले से ही एक स्वीकार्य उत्तर है, मैं एक ही समस्या में भाग गया।

आखिरकार, कारण था कि मैं पुरानी बंडलर संस्करण का उपयोग कर रहा था और इसे नवीनतम संस्करण में अपडेट कर रहा था। यहां से बग पर अधिक जानकारी: https://github.com/bundler/bundler/issues/3560

बग बंडलर संस्करण 1.9.3 से पहले होता है।

आप, मैं अपने वर्तमान रूबी संस्करण के वैश्विक gemset पर इस इंस्टॉल करने की अनुशंसा rvm use @global चलाकर gem install bundler चल रहा है और उसके बाद आप rvm उपयोग कर रहे हैं के माध्यम से gem uninstall bundler -v old.bundler.version

बड़े बंडलर संस्करण को हटा कर बंडलर अद्यतन कर सकते हैं करने से पहले स्थापित करें।

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