rails 5.0.0 lors de l'installation de “nio4r” : impossible de construire gem extension native
Voici les logs: http://pastebin.com/CAgur9xd
Installing nio4r 1.2.1 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
C:/RailsInstaller/Ruby2.2.0/bin/ruby.exe -r ./siteconf20160720-8272-c88sgk.rb extconf.rb --with-cflags=-std=c99
checking for unistd.h... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=C:/RailsInstaller/Ruby2.2.0/bin/$(RUBY_BASE_NAME)
C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/mkmf.rb:587:in `try_cpp'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/mkmf.rb:1060:in `block in have_header'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/mkmf.rb:911:in `block in checking_for'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/mkmf.rb:351:in `block (2 levels) in postpone'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/mkmf.rb:321:in `open'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/mkmf.rb:351:in `block in postpone'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/mkmf.rb:321:in `open'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/mkmf.rb:347:in `postpone'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/mkmf.rb:910:in `checking_for'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/mkmf.rb:1059:in `have_header'
from extconf.rb:3:in `<main>'
extconf failed, exit code 1
lors de l'installation du bundle elle renvoie(démarre à la ligne 117 dans les journaux ):
Installing nio4r 1.2.1 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
De sorte que le faisceau ne peut pas être installé. Il revient à la fin :
An error occurred while installing nio4r (1.2.1), and Bundler cannot continue.
Make sure that `gem install nio4r -v '1.2.1'` succeeds before bundling.
Note :j'ai essayé les solutions dans d'autres questions, mais c'est toujours le même.
Si il est possible d'installer "nio4r" manuellement s'il vous plaît dites-moi comment .
gem install nio4r -v '1.2.1' et il permettra de résoudre votre erreur
elle renvoie ceci : pastebin.com/czfiV0Gb
Pour poser des questions, s'il vous plaît inclure l'erreur complète du journal directement dans la question. Veuillez ne pas accéder à des externes pastie sites depuis les journaux ont tendance à disparaître rapidement, ce qui rend la question de façon de moins en moins utile à l'avenir.
elle renvoie ceci : pastebin.com/czfiV0Gb
Pour poser des questions, s'il vous plaît inclure l'erreur complète du journal directement dans la question. Veuillez ne pas accéder à des externes pastie sites depuis les journaux ont tendance à disparaître rapidement, ce qui rend la question de façon de moins en moins utile à l'avenir.
OriginalL'auteur Mfms99 | 2016-07-20
Vous devez vous connecter pour publier un commentaire.
Je suis confronté au même problème alors que j'essayais de mettre à jour mon Rails à la V5.0.0, j'ai suivi cette instruction, et il fonctionne parfaitement. Lisez la section "Installer le Rubis DevKit ici" >> http://jekyll-windows.juthilo.com/1-ruby-and-devkit/
Revenir à Ruby 2.2.5 si vous rencontrez des problèmes. Dans mon cas, Rails 5.0.0 ne joue pas bien avec Ruby 2.3.1.
Je suis aussi d'avoir des problèmes avec Rails 5 + Ruby 2.3.1 et quelques pierres précieuses (nio4r, pg, puma, websocker-pilote). Est-ce un problème connu?
Si vous rencontrez que des questions sur Windows, il est recommandé de déclasser votre Ruby 2.2.3. Beaucoup de gens ont des problèmes lors de l'exécution de Ruby 2.3.1 sur Windows. La dernière version de Ruby fonctionne bien sur Mac.
Mac 🙂
OriginalL'auteur Melvin Ch'ng
Solution pour Fedora 64 bits
OriginalL'auteur lord5et
Je suis tombé sur ce problème que j'ai été la mise en place des rails de trop. (si vous cherchez une alternative à php).
Espère que cette aide
OriginalL'auteur Hezzy Okello
Mon fils a résolu ce problème pour moi. Le problème est que j'ai installé en premier, Ruby et puis les Rails installateur. Donc, j'ai dû désinstaller le Rubis et le réinstaller avec les Rails d'installation.
OriginalL'auteur David Hernandez
Supprimer le Gemfile.verrouillage et d'exécuter la commande bundle install
Ok, mais qui fonctionnait pour moi.
La mise à jour de la gemme nio4r à partir de v2.0.0 à v2.1.0 le problème est résolu pour moi.
Pour développer sur @gizotti commentaire, Gemfile.lock est le fichier qui stocke le joyau de l'arbre des dépendances et de la précision de chacune des versions de gem dans votre projet. Si
Gemfile
est la recette,Gemfile.lock
est le gâteau que vous avez cuit à partir de la recette. Si vous l'enlevez, Bundler va reconstruire un nouveau basé sur votre Gemfile, ce qui signifie que vous pouvez vous retrouver avec de différentes versions d'un joyau dans l'arborescence de votre projet. Pour des projets sérieux, cela signifie que beaucoup de tests et de validation, et pas quelque chose que vous voulez juste faire". Dans tous les cas, vous pouvez obtenir essentiellement la même chose en exécutantbundle update
.OriginalL'auteur Hemanthkumar Naik
De devis de votre journal de sortie:
Sur windows, vous devez installer le DevKit afin d'être en mesure de compiler des gemmes.
dois-je installer une certaine version de la DefKit ? j'ai installé la version 2.2.5
OriginalL'auteur Holger Just
J'ai eu un problème similaire et l'exécution de cette commande a résolu mon problème.
Maintenant, vous pouvez exécuter avec succès
bundle install
par la suite.OriginalL'auteur techdreams
Eu ce même problème sur Ubuntu 16.04.
Ce que j'ai fait pour résoudre ce problème :
Supprimer Gemfile.lock : sudo rm Gemfile.verrouillage
Installé Ruby-Dev:
sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get install ruby2.4-dev
et l'étape importante : REBOOT!
OriginalL'auteur keke
Si vous utilisez Windows et installé ruby avec RubyInstaller avec la version supérieure ou égale à 2.4, que vous ne devez pas installer DevKit de RubyInstaller site web et n'utilisez que de la msys64 " qui est installé après Ruby avec RubyInstaller (assurez-vous d'entrer le numéro 3 pour installer les deux msys et mingw). Supprimer devkit répertoire et son chemin d'accès à partir de la variable d'environnement PATH, donc quand rubygems vais essayer d'installer nio4r et d'appeler les compilateurs C, il va appeler msys.
Lire ici https://rubyinstaller.org/2017/05/25/rubyinstaller-2.4.1-1-released.html pour plus d'informations sur MSYS2 et DevKit dans RubyInstaller
OriginalL'auteur SkipIntro