রত্নের জন্য অপরিজ্ঞাত পদ্ধতি `উত্স_ইন্ডেক্স ': মডিউল (NoMethodError)


132

আমি একটি রেল ২.৩.৫ অ্যাপ্লিকেশন চালাচ্ছি এবং স্ক্রিপ্ট / সার্ভার চালানোর পরে আমাকে নিম্নলিখিতটি দেখানো হয়েছে:

./script/../config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21:in `add_frozen_gem_path': undefined method `source_index' for Gem:Module (NoMethodError)
    from ./script/../config/boot.rb:60:in `load_initializer'
    from ./script/../config/boot.rb:44:in `run'
    from ./script/../config/boot.rb:17:in `boot!'
    from ./script/../config/boot.rb:123
    from script/server:2:in `require'
    from script/server:2

যদি আমি বুট.আরবিতে লাইন 60 এর বাইরে মন্তব্য করি (রেলস :: জেমডিপেন্ডেন্সি.এডডি_ফ্রোজেন_জেম_পথ) এবং স্ক্রিপ্ট / সার্ভার চালনা করছি তবে আমি এটি পেয়েছি:

=> Booting WEBrick
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
./script/../config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21:in `add_frozen_gem_path': undefined method `source_index' for Gem:Module (NoMethodError)
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:298:in `add_gem_load_paths'
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:132:in `process'
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:113:in `send'
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:113:in `run'
    from /home/developer/bigpink/config/environment.rb:13
    from /home/developer/bigpink/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
    from /home/developer/bigpink/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
    from /home/developer/bigpink/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
    from /home/developer/bigpink/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
    from /home/developer/bigpink/vendor/rails/railties/lib/commands/server.rb:84
    from script/server:3:in `require'
    from script/server:3

সুতরাং, কী করা উচিত তা নিশ্চিত নয়। আশা করছি আমি কিছু দ্রুত সহায়তা পেতে পারি। ধন্যবাদ!

উত্তর:


294

REE 1.8.7 থেকে 1.9.3-p385 এ পুরানো রেলস অ্যাপ্লিকেশন আপগ্রেড করার চেষ্টা করার সময় আমি নিজেই এই সমস্যার মধ্যে পড়েছিলাম। অদ্ভুতভাবে, রুবি 1.9.3-p327 ঠিক কাজ করে। যা নেমে এসেছিল তা রুবি-১.৯.৩-পি 8585৮ আমার জন্য রুবিগেমস সংস্করণ ২.০.২ ইনস্টল করে রেখেছিল এবং ১.৯.৩-পি 327 রুবিগেমস ভি 1.8.23 ইনস্টল করেছেন।

Gem.source_indexকিছু সময়ের জন্য অবচয় করা হয়েছে, তবে যেহেতু রেল ২.৩ সমালোচনামূলক সুরক্ষা প্যাচ ব্যতীত কোনও আপডেট পাচ্ছে না, এটি কখনই স্থির হবে না। রুবিগেমস ভি 2.0 শেষ পর্যন্ত সেই পদ্ধতিটি সরিয়ে দিয়েছে। rubygemsআপাতত কার্যকারিতা ফিরে পেতে ১.৮.২৫ এর মতো ২.০.০ এর আগে যে কোনও সংস্করণে ডাউনগ্রেড করুন । আপনি একটি সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করে পেতে পারেন gem update --system 1.8.25

খুব গুরুত্বপূর্ণ একদিকে যেমন, রেলগুলি ২.৩.৫ ন্যূনতম ২.৩.১7 এ আপডেট করা দরকার। এমন কিছু গুরুতর নিরাপত্তা দুর্বলতা রয়েছে যা আপনাকে কিছু খুব বাজে আক্রমণগুলির জন্য উন্মুক্ত করে দেয়। দীর্ঘমেয়াদে, 3.x আপগ্রেড করা খুব শক্তিশালী প্রয়োজন হিসাবে বিবেচনা করা উচিত।


তোমাকে অনেক ধন্যবাদ! এটি পুরোপুরি কাজ করেছে। এবং হ্যাঁ, ধন্যবাদ, আমি আপগ্রেডের মাঝে আছি 2.3.17 এবং তারপরে সর্বশেষতম 3.x এ চলেছি
নুডলবয় 347

: এই সমস্যার জন্য কোন টিপস @uxp stackoverflow.com/questions/15374188/...
অভিব্যক্ত

87
আরভিএম ব্যবহার করে যে কেউ rvm rubygems latest-1.8রুবিজেমস ডাউনগ্রেড করতে এবং এই সমস্যাটি সমাধান করতে পারেন ।
মার্টিন

1
মার্টিনের মন্তব্য (আরভিএম ব্যবহার করে যে কেউ রুবিজেমস ডাউনগ্রেড করতে এবং এই সমস্যাটি সমাধান করতে rvm রুবিজেমসকে সর্বশেষ -১.৮ কল করতে পারে)) আমার সমস্যাটি সমাধান করতে আমাকে সাহায্য করেছিল, যেখানে আমি কয়েক ঘন্টা থেকে আটকে ছিলাম। অনেক ধন্যবাদ.
প্রজক্ত পি

30
রুবিজেমসকে ডাউনগ্রেডিং করার জন্য জোর করা দরকার:rvm rubygems --force latest-1.8
ম্যাট হোয়াইট

28

আরভিএম ব্যবহারকারীদের জন্য,

rvm install rubygems 1.8.2 --force

1
এই কাজটি করতে আমাকে 1.6.2 এ ফিরে যেতে হয়েছিল। তবে এই আদেশের দরকার ছিল।
জেন


0

আরেকটি উপায় এই কাজ করতে slimgems ইনস্টল করা: gem install slimgems। এটি রুবিগেমসের একটি ড্রপ-ইন কাঁটা যা পুরানো সংস্করণগুলির সাথে আরও ভাল কাজ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.