Kan edelsteen niet installeren – Mislukt om Gemative-extensie te bouwen – kan dit bestand niet laden – MKMF (LoadError)

Ruby 1.9.3

Het deel van Gemfile

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

Als ik probeer de edelstenen te installeren, krijg ik een foutmelding

[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.

Dan doe ik dit

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

en krijg ook een foutmelding.

Wat heb ik gemist?


Antwoord 1, autoriteit 100%

Er zijn vergelijkbare vragen:

Meestal is de oplossing:

sudo apt-get install ruby-dev

Of, als dat niet werkt, afhankelijk van uw ruby-versie, voer iets uit als:

sudo apt-get install ruby1.9.1-dev

Zou uw probleem moeten oplossen.


Werkt het nog steeds niet? Probeer het volgende na het installeren van ruby-dev:

sudo apt-get install make


Antwoord 2, autoriteit 4%

Voor WSL (Windows Subsystem for Linux) moet u het build-essentialpakket installeren:

sudo apt install build-essential

Antwoord 3, autoriteit 3%

Ik heb net een wilde achtervolging van 2 uur achter de rug om dit op te lossen. Geen van de geposte antwoorden werkte voor mij. Ik werk op een Mac (Mojave-versie 10.14.6, Xcode-versie 11.3).

Het blijkt dat de ruby-bestandskoppen ontbraken, dus ik moest ondernemen open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Dat werkte eerst voor mij niet omdat de versie van Commandlinetools die ik had geïnstalleerd niet de map “Pakketten” had. Dus ik heb niet geïnstalleerd en opnieuw geïnstalleerd:

rm -rf /Library/Developer/CommandLineTools

xcode-select --install

Dan liep ik de vorige opdracht opnieuw:

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Na installatie is de fout opgelost!


Antwoord 4, Autoriteit 2%

Ik had hetzelfde probleem om jQuery-rails te installeren. De fix was

sudo apt-get install zlibc zlib1g zlib1g-dev

Antwoord 5

Als iemand in de toekomst dit probleem had, gebruik ik een Mac en hoefde ik gewoon de opdrachtregelhulpmiddelen te installeren met behulp van ‘Xcode-Select – Installatie’


Antwoord 6

Ik vond dat ik een andere versie van Ruby moest installeren. Dus het uitvoeren van het commando

$ sudo apt-get install ruby1.9.1-dev

en probeer vervolgens de extensie

te installeren

Als u problemen tegenkomt waar het u vertelt dat u geen G ++ hebt, kunt u de volgende opdracht uitvoeren om deze

te installeren

$ sudo apt-get install g++

Antwoord 7

  1. Zorg ervoor dat ruby-devis geïnstalleerd
  2. Zorg ervoor dat makeis geïnstalleerd
  3. Als u nog steeds de foutmelding krijgt, zoek dan naar voorgestelde pakketten. Als u iets wilt installeren als gem install pgU moet ook de Lib libpq-dev(sudo apt-get install libpq-dev).

Antwoord 8

Ik heb een kleine hackmd gemaakt om cocoapods op MacOS 10.15 (Catalina) en 11 (BIG SUR)

te installeren

https://hackmd.io/@sbjphresgqckcqv8zjp1a/s1uy3w7hp

Cocoapods installeren op MacOS Catalina (MacOS 10.15.x) en Big Sur (MacOS 11)

  1. Zorg ervoor dat u Xcode-componenten hebt geïnstalleerd.

  2. Download ‘Opdrachtregelhulpmiddelen’ (ongeveer 500 MB) rechtstreeks vanaf deze link (vereist dat u Apple-account hebt)
    https://developer.apple.com/downloads/index.action

  3. Installeer het gedownloade bestand

  4. Klik op Installeren

  5. Installeer Cocoapods-bestanden in Terminal
    sudo gem install -n /usr/local/bin cocoapods


Antwoord 9

Voor MacOS-gebruikers:

Doe gewoon dit en gemakkelijk zal het uw probleem oplossen:

brew install cocoapods

Antwoord 10

Het helpt ook om ervoor te zorgen dat LibmysQlclient-Dev is geïnstalleerd (Ubuntu 14.04)


Antwoord 11

Dit werkte voor mij.

bundle config --global build.snappy --with-opt-dir="$(brew --prefix snappy)"


Antwoord 12

Wat eindigde na een paar uur pijn ..

Als u een brouwsel gebruikt.

brew install ruby

Identificeer het pad waar Ruby is geïnstalleerd, suggereert het brouwsel ‘Misschien wil je dit aan je pad toevoegen’, dus dat is wat we doen. Bijvoorbeeld, de mijne is

/usr/local/lib/ruby/gems/3.0.0/bin

Voeg dit toe aan uw pad door te draaien (weglaten van beugels)

echo 'export PATH"{the_path_you_found_above}:$PATH"' >> ~/.bash_profile

Werk uw omgeving vervolgens bij met

source ~/.bash_profile

Probeer nu uw installatie uit te voeren, d.w.z.,

sudo gem install middleman

Antwoord 13

Ik maakte een woord zoeken App en ik moesten cocoapods installeren en na het formatteren van mijn Mac en het opnieuw installeren van Xcode, kreeg ik nog steeds de foutmelding toen ik cocoapods wilde installeren.

En de oplossing hiervoor was het volgende:

Het lijkt op Cocoapods 1.9.0, de nieuwste versie vanaf dit schrijven, hangt af van een nieuwere versie van Ruby dan 2.3.7. Maar Macos Mojave omvat alleen Ruby 2.3.7, dus je hebt een paar verschillende opties.

   Upgrade to macOS Catalina and get Ruby 2.6.3
    Use Ruby Version Manager to install a newer version of Ruby
    Install an older version of CocoaPods
    sudo gem install cocoapods -v 1.8.4

Ik deed 3:

SUDO GEM INSTALLES COCOAPODS -V 1.8.4


Antwoord 14

In Mac, voor mij werkt dit:

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

Antwoord 15

Na wat zoeken naar een oplossing, blijkt dat het -dev pakket nodig is, niet alleen ruby1.8. Dus als je ruby1.9.1 aan het doen bent

sudo apt-get install ruby1.9.1-dev

of om de generieke ruby-versie te installeren, gebruik (volgens de opmerking van @lamplightdev):

sudo apt-get install ruby-dev

zou het moeten repareren.

Probeer mkmf te lokaliseren om te zien of het bestand er daadwerkelijk is.


Antwoord 16

Als u een mac-gebruiker bent, moet u de gebruikte clang-versie bijwerken
Ik heb uren gebrand om dit te doorzoeken en niet-geïnstalleerde xcode-opdrachtregelprogramma’s te installeren, maar het hielp niet.
Ik heb gcc -vuitgevoerd en Apple clang version 11.0.0 (clang-1100.0.33.8was de output.
Daarna heb ik xcode-select -s /Library/Developer/CommandLineTools/uitgevoerd en de clang-versie werd bijgewerkt naar Apple clang version 12.0.0 (clang-1200.0.32.29).
Bundelinstallatie was daarna succesvol.
Ik hoop dat dit kan helpen.

Other episodes