web-dev-qa-db-fra.com

Pourquoi une erreur d'installation bcrypt-Ruby gem apparaît-elle?

En cas d'erreur lors de la tentative d'installation du périphérique Gem, l'installation s'arrête sur le joyau bcrypt-Ruby:

$ gem install bcrypt-Ruby
Error installing bcrypt-Ruby:
ERROR: Failed to build gem native extension.

J'utilise OSX 10.6.7 avec Ruby sous RVM. J'ai réinstallé la dernière version de xcode et réinstallé Ruby 64bit, Rails et tous les gems.

31
led

J'ai eu le même problème lors de l'installation sous OSX 10.7.3. Lors de l'installation de la gemme, mon message d'erreur était le suivant:

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

creating Makefile

make
compiling bcrypt_ext.c
make: /usr/bin/gcc-4.2: No such file or directory
make: *** [bcrypt_ext.o] Error 1

On dirait que la gemme recherche gcc-4.2 mais je n'avais qu'un fichier appelé gcc. Maintenant que je venais d'installer le dernier Xcode (4.3), je savais que mon compilateur C était conforme mais que la gem avait codé en dur gcc-4.2. Donc ma solution était:

Sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2

La liaison a fonctionné comme un charme.

31
Curley

On dirait qu'il pourrait y avoir des informations manquantes ici - pour moi, cela était dû à une installation de gcc par brassage. gcc était dans/usr/bin, mais pas gcc-4.2. Alors je viens de faire ce qui suit:

$ cd /usr/bin
$ Sudo ln -s gcc gcc-4.2

qui crée un lien, gcc-4.2, recherché par la gemme et remontant à gcc.

J'espère que cela pourra aider. 

6
Ryan Clark

Ruby-dev doit être installé avant bcrypt-Ruby. Si vous utilisez Ubuntu, lancez

Sudo apt-get install Ruby1.9.1-dev

ou

Sudo apt-get install Ruby1.8-dev

basé sur la version Ruby.

5
Thomas Tran

J'utilise RVM et j'ai toujours ce problème à chaque installation de gems avec des extensions natives (bcrypt-Ruby, bson-ext, json, eventmachine, nokogiri, linecache19, etc.) 

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

La seule façon pour que je puisse enfin faire fonctionner les choses était de désinstaller puis de réinstaller Ruby.

rvm remove 1.9.2

rvm install 1.9.2

Merci au conseil de @doublebee ici: https://github.com/flori/json/issues/78#issuecomment-1499920

2
brandonjp

Sudo apt-get installer Ruby1.9.1-dev 

un charme fou pour moi! Merci beaucoup

2
Tonmoy

Vous devez uniquement utiliser rvm (gestionnaire de versions Ruby).

rvm uninstall 1.9.3

et alors 

rvm install 1.9.3

semble que cette erreur est sur la construction de la version 1.9.3, mais désinstaller et réinstaller résoudre le problème avec bcrypt-Ruby 3.0.1

2
javierMurillo

Eh bien, cela fonctionne avec Ruby 1.9.2 sous RVM sur MacOS 10.6.7:

$ Ruby -v
Ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.6.0]

$ gem install bcrypt-Ruby
Fetching: bcrypt-Ruby-2.1.4.gem (100%)
Building native extensions.  This could take a while...
Successfully installed bcrypt-Ruby-2.1.4
1 gem installed
Installing ri documentation for bcrypt-Ruby-2.1.4...
Installing RDoc documentation for bcrypt-Ruby-2.1.4...

Essayez rvm notes et voyez si cela indique que vous devez installer quoi que ce soit.

1
the Tin Man

Si vous utilisez la version 1.8, les packages requis pour bcrypt se trouvent dans le kit de développement. Essayez d'utiliser 

$Sudo apt-get install Ruby1.8-dev

puis

$gem install bcrypt-Ruby 
1
ivt

Je pense que vous devez réinstaller le bijou bundler.

gem install bundler puis bundle install

0
Zakaria

Ce correctif fonctionne pour moi sur Ubuntu sous OSX et utilise homebrew, macports, peu importe:

Sudo apt-get install Ruby1.9.1-dev
0
fillky