`আবশ্যক ': লোড করার জন্য এ জাতীয় কোনও ফাইল নেই - এমকেএমএফ (লোডেরর)


563

আমি রুবি 1.9.1 ব্যবহার করে উবুন্টু নাট্টি নার্ভাল ১১.০৪-এ রেল ইনস্টল করার চেষ্টা করছিলাম।

আমি রুবি ব্যবহার করে ইনস্টল করেছি apt-get install ruby1.9.1-fullযার মধ্যে ডেভ প্যাকেজ রয়েছে। আমি ত্রুটিটি গুগল করেছিলাম এবং সকলেই আমার কাছে ইতিমধ্যে থাকা 1.9.1-dev ইনস্টল করার পরামর্শ দিয়েছেন।

Building native extensions.  This could take a while...
ERROR:  Error installing rails:
    ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.8 extconf.rb
extconf.rb:36:in `require': no such file to load -- mkmf (LoadError)
    from extconf.rb:36


Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/bcrypt-ruby-3.0.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out

1
ওয়েটার-ওয়েবড্রাইভার ইনস্টল করার চেষ্টা করতে আমার একটি সমান্তরাল ত্রুটি হয়েছিল। এছাড়া ruby1.0.1-দেব ইনস্টল দ্বারা সংশোধন করা হয়
kaleidic

উত্তর:


979

কোনও সমাধানের জন্য অনুসন্ধানের পরে এটি -devকেবলমাত্র নয়, প্যাকেজটির দরকার রয়েছে তা দেখা যাচ্ছে ruby1.8। সুতরাং যদি আপনি ruby1.9.1করছেন

sudo apt-get install ruby1.9.1-dev

বা জেনেরিক রুবি সংস্করণ ইনস্টল করতে, (@ ল্যাম্পলাইটদেব মন্তব্য অনুসারে) ব্যবহার করুন:

sudo apt-get install ruby-dev

এটি ঠিক করা উচিত।

locate mkmfফাইলটি আসলে আছে কিনা তা দেখার চেষ্টা করুন ।


220
নিম্নলিখিতটি আপনার বর্তমানে ইনস্টল করা রুবি সংস্করণের সাথে মিলে যাওয়া ডেভ প্যাকেজটি ইনস্টল করবে: sudo apt-get ইনস্টল রুবি-দেব
lamplightdev

হ্যাঁ আমার জন্য কাজ করেছেন। আপনি যদি কেবল বর্তমান রুবি সংস্করণ ইনস্টল করতে চান তবে সংস্করণটি সন্ধান করতে রুবি -v চালান।
ড্যান ব্র্যাডবেরি

3
@ ল্যাম্পলাইটদেব আমার পক্ষে কাজ করেননি, রুবি সংস্করণটি ছিল 1.9.3 এবং এটি 1.8 ইনস্টল করছে যদি আমি রুবি-দেব ইনস্টল করার চেষ্টা করি
কার্তিক টি

1
আমি ইনস্টল করেছি ruby-all-dev, এটি সম্ভবত সমস্ত সংস্করণের জন্য কাজ করবে।
jcubic

অ্যাউস-এসডিকে এখন এটিও দরকার যে এসওএপি অ্যাডাব্লুএস-এর জন্য অবনমিত হয়। স্টেকহোল্ডাররা কোনও প্রযোজনা বিল্ডে কোনও কিছুতে আপত্তি জানালে একটি উদ্বেগ। (এসডিকে এগুলিও শিহরিত করবেন না)।
mckenzm

185

এই উত্তরটি আমার পক্ষে কাজ করেছিল। উপরের মন্তব্যে ছিল, তবে উবুন্টু 12.04 রুবি ১.৮. for এর উত্তর হিসাবে এর যথাযথ স্থানটি প্রাপ্য

sudo apt-get install ruby-dev
# if above doesnt work make sure you have build essential
sudo apt-get install build-essential

এটিও লক্ষণীয় যে আপনি যদি উবুন্টু সফটওয়্যার কেন্দ্রটি ব্যবহার করতে চান তবে রুবি-দেবের জন্য একটি অ্যাড-অন রয়েছে যা আপনি 'এক্সটেনশন মডিউলগুলি সংকলনের জন্য শিরোলেখ ফাইলগুলি' নির্বাচন করতে পারেন।
রাইটহ্যান্ডডমনেকি

আমি sudo apt-get install ruby1.9.1-devমন্তব্য বা এই উত্তরটি দেখার আগে আমি রুবি ১.৯.৩ ব্যবহার করেছি এবং এটি আমাকে রেল এক্সটেনশানটি তৈরি করার অনুমতি দিয়েছে। নিশ্চিত নয় যে এর মতো অনবদ্য সংস্করণগুলি পরে আমার কোনও মাথাব্যথার কারণ হয়ে দাঁড়িয়েছে, তবে এটি অবশ্যই লক্ষ করা উচিত যে রেলগুলি সরকারীভাবে গৃহীত উত্তরের কিছুটা পরিবর্তন ব্যবহার করে সঠিকভাবে ইনস্টল হয়েছিল।
ডিওয়িলস

আরভিএম থাকলে কী হবে? তাহলে আপনার কাছে ইতিমধ্যে আপনার প্রয়োজনীয় রুবি সংস্করণটি নেই?
ক্র্যাকমাস্টার

37

আমার বিল্ড-অ্যাসোসিয়েশন ইনস্টল করা দরকার:

sudo apt-get install build-essential

এটি ঠিক এখানেই টিকিট ছিল .. আমার ধারণা আমি রুবি-দেবও ইনস্টল করতে হয়েছিল তবে আমি বিল্ড-অপরিহার্যভাবে ইনস্টল না করা পর্যন্ত এটি কার্যকর হয়নি। একটি মিলিয়ন ধন্যবাদ
'22-29 এ সংযোগবিহীন

30

সমস্যাটি এখনও উবুন্টু 13/04 / 13.10 / 14.04 এ পুনরাবৃত্ত হয়

এবং

sudo apt-get install ruby1.9.1-dev

ঠিক আছে আমার জন্য কাজ। সুতরাং আপনি যদি উবুন্টু 13.04 / 13.10 / 14.04 ব্যবহার করেন তবে এটি ব্যবহার করা সত্যিই কাজে আসবে।

রুবি সংস্করণ 1.9.3 হয় এমনকি এটি কাজ করে। এটি হ'ল সংগ্রহশালায় কোনও রুবি 1.9.3-দেব উপলব্ধ নেই ...


1
হ্যাঁ, এটি আমার জন্য রুবি ১.৯.৩ এও কাজ করেছিল। রুবি 1.9.3-dev এর জন্য উবুন্টু সংগ্রহস্থলে কোনও প্যাকেজ নেই।
ডিওয়িলস

আর নেই ... rvm.io থেকে --ruby এর সাহায্যে rvm ইনস্টল করার পরে কাজ করেছেন - এবং সম্ভবত রুবি অপসারণের জন্য সম্ভবত সেরা
dagelf

18

আপনি চেষ্টা করেছেন:

sudo apt-get install ruby1.8-dev

3
আমি 1.9.1 ব্যবহার করছি, কেন আমি রুবি 1.8-দেব ইনস্টল করব?
ওমর এস

এটি সত্যই অদ্ভুত আমি 1.9.1 ইনস্টল করেছি তবে এটি 1.8 পড়ছে, যখন আমি রুবি-ভি চালাচ্ছি: রুবি 1.8.7 (2010-08-16 প্যাচলেভেল 302) [x86_64-লিনাক্স]
ওমর এস

2
আপনি আপনার সিস্টেমে রুবি ১.৮ সেট করেছেন ডিফল্ট রুবি হিসাবে
মাত্তেও আলেসানী

10

বান্ডেল ইনস্টল করার সময় আমি একই ত্রুটি পেয়েছি

sudo apt-get install ruby-dev

আমার জন্য দুর্দান্ত কাজ করে এবং সমস্যার সমাধান করুন পুদিনা 16 রুবি 1.9.3



1

আপনার রুবি ১.৮ রয়েছে তাই এটির কাজ করতে আপনাকে কমপক্ষে ১.৯ এ আপগ্রেড করতে হবে।

যদি তা হয়, তবে রুবি রত্নটির নির্দিষ্ট সংস্করণটি কীভাবে ইনস্টল করবেন?

যদি এটি সাহায্য না করে, তবে ruby-devআবার ইনস্টল করা।


0

আপনি আরভিএম (রুবি সংস্করণ পরিচালক) ব্যবহার করতে পারেন যা আপনার মেশিনে রুবির সমস্ত সংস্করণ পরিচালনা করতে সহায়তা করে যা আপনার বিকাশের জন্য খুব সহায়ক (যখন স্থিতিশীল রিলিজে অস্থির রিলিজে স্থানান্তরিত হয়)

অথবা লিনাক্স (উবুন্টু) এর জন্য যান sudo apt-get install ruby1.8-dev

তারপরে sudo gem install railsএটি যাচাই করার জন্য এটি rails -vরেলগুলিতে সংস্করণ প্রদর্শন করবে

এর পরে আপনি বান্ডিল ইনস্টল করতে পারেন (উন্নয়নের জন্য প্রয়োজনীয় রত্ন)


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