ruby on rails - मणि इंस्टॉल करने में असमर्थ-मणि देशी एक्सटेंशन बनाने में विफल-ऐसी फ़ाइल लोड नहीं कर सकता-mkmf(LoadError)




ruby-on-rails ubuntu (6)

रूबी 1.9.3

Gemfile का हिस्सा

#...............
gem "pony"
gem "bcrypt-ruby", :require => "bcrypt"
gem "nokogiri" 
#..................

जब मैं रत्न स्थापित करने की कोशिश कर रहा हूं, तो मुझे एक त्रुटि मिलती है

[email protected]:~/$ bundle
Fetching gem metadata from http://rubygems.org/.........
Fetching gem metadata from http://rubygems.org/..
Enter your password to install the bundled RubyGems to your system: 
#####............................................................
Installing bcrypt-ruby (3.0.1) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb 
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
        from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from extconf.rb:36:in `<main>'


Gem files will remain installed in /home/alex/.bundler/tmp/5526/gems/bcrypt-ruby-3.0.1 for inspection.
Results logged to /home/alex/.bundler/tmp/5526/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out
An error occurred while installing bcrypt-ruby (3.0.1), and Bundler cannot continue.
Make sure that `gem install bcrypt-ruby -v '3.0.1'` succeeds before bundling.

तो मैं यह कर रहा हूँ

sudo gem install bcrypt-ruby -v '3.0.1'
Building native extensions.  This could take a while...
ERROR:  Error installing bcrypt-ruby:
        ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
        from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from extconf.rb:36:in `<main>'


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

और एक त्रुटि भी मिल रही है।

मुझसे क्या छूट गया?


  1. सुनिश्चित करें कि ruby-dev स्थापित है
  2. सुनिश्चित करें कि स्थापित स्थापित है
  3. अगर आपको अभी भी त्रुटि मिलती है, तो सुझाए गए पैकेज देखें। यदि आप gem install pg जैसे कुछ स्थापित करने की कोशिश कर रहे हैं तो आपको lib libpq-dev ( sudo apt-get install libpq-dev ) स्थापित करने की भी आवश्यकता होगी।

अगर भविष्य में किसी को भी यह समस्या हो, तो मैं मैक का उपयोग कर रहा हूं और 'xcode-select -install' का उपयोग करके कमांड लाइन टूल्स को इंस्टॉल करना था


मैंने पाया कि मुझे रूबी का एक और संस्करण स्थापित करने की आवश्यकता है। तो आदेश चला रहा है

$ sudo apt-get install ruby1.9.1-dev

और उसके बाद एक्सटेंशन को स्थापित करने का प्रयास करें

यदि आप उन मुद्दों में भाग लेते हैं जहां यह आपको बता रहा है कि आपके पास g ++ नहीं है तो आप इसे स्थापित करने के लिए निम्न आदेश चला सकते हैं

$ sudo apt-get install g++

मैक में, मेरे लिए यह काम करता है:

CONFIGURE_OPTS="--enable-shared" rbenv install 2.2.2

समाधान के लिए कुछ खोज करने के बाद, यह पता चला कि -dev पैकेज की आवश्यकता है, न केवल ruby1.8। तो अगर आपके पास ruby1.9.1 कर रहा है

sudo apt-get install ruby1.9.1-dev

या सामान्य रूबी संस्करण स्थापित करने के लिए, उपयोग करें (@lamplightdev टिप्पणी के अनुसार):

sudo apt-get install ruby-dev

इसे ठीक करना चाहिए।

यह देखने के लिए कि फ़ाइल वास्तव में वहां है या नहीं, mkmf का पता लगाने का प्रयास करें।


समान प्रश्न हैं:

आमतौर पर, समाधान है:

sudo apt-ruby-dev स्थापित करें

या, यदि यह काम नहीं करता है, तो आपके रूबी संस्करण के आधार पर , कुछ चलाएं:

sudo apt-ruby1.9.1-dev स्थापित करें

अपनी समस्या को ठीक करना चाहिए।

अभी भी काम नहीं कर रहा है? रूबी-देव स्थापित करने के बाद निम्न का प्रयास करें:

सुडो apt-get स्थापित करें





bcrypt