Comment résoudre la construction de l'environnement local de Ruby on Rails (MAC)!

environnement

macOS Catalina version: 10.15.7 (19H2)

introduction

Je fais actuellement la 6ème édition du tutoriel Ruby on Rails! Ce tutoriel recommande de s'exécuter sur Cloud9. Cependant, j'utilise Cloud9, et autour du chapitre 3 de ce tutoriel, la capacité d'EC2 est pleine. J'ai essayé différentes solutions, mais je n'ai pas pu les résoudre, donc je n'avais pas d'autre choix que de créer un environnement localement.

Lorsque j'ai construit l'environnement Ruby on Rails localement, beaucoup de choses se sont bloquées, j'ai donc résumé les solutions pour ces choses! En même temps que l'enregistrement "pourquoi je l'ai résolu quand je suis resté coincé", je l'ai posté dans l'espoir que ce serait utile s'il y avait quelqu'un qui restait coincé au même endroit!

Une erreur s'est produite dans les rails d'installation des gemmes

$ gem install rails

L'erreur suivante se produit lors de l'exécution.

Building native extensions. This could take a while... 
ERROR:  Error installing rails: 
ERROR: Failed to build gem native extension. 
  
    current directory: /Users/user/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/nokogiri-1.10.10/ext/nokogiri 
/Users/user/.rbenv/versions/2.6.6/bin/ruby -I /Users/user/.rbenv/versions/2.6.6/lib/ruby/2.6.0 -r ./siteconf20200928-6506-ipfftu.rb extconf.rb 
checking if the C compiler accepts  -I /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... *** 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=/Users/user/.rbenv/versions/2.6.6/bin/$(RUBY_BASE_NAME) 
--help 
--clean 
/Users/user/.rbenv/versions/2.6.6/lib/ruby/2.6.0/mkmf.rb:467:in `try_do': The compiler failed to generate an executable file. (RuntimeError) 
You have to install development tools first. 
from /Users/user/.rbenv/versions/2.6.6/lib/ruby/2.6.0/mkmf.rb:585:in `block in try_compile' 
from /Users/user/.rbenv/versions/2.6.6/lib/ruby/2.6.0/mkmf.rb:532:in `with_werror' 
from /Users/user/.rbenv/versions/2.6.6/lib/ruby/2.6.0/mkmf.rb:585:in `try_compile' 
from extconf.rb:138:in `nokogiri_try_compile' 
from extconf.rb:162:in `block in add_cflags' 
from /Users/user/.rbenv/versions/2.6.6/lib/ruby/2.6.0/mkmf.rb:643:in `with_cflags' 
from extconf.rb:161:in `add_cflags' 
from extconf.rb:416:in `<main>' 
  
To see why this extension failed to compile, please check the mkmf.log which can be found here: 
  
  /Users/user/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-14/2.6.0/nokogiri-1.10.10/mkmf.log 
  
extconf failed, exit code 1 
  
Gem files will remain installed in /Users/user/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/nokogiri-1.10.10 for inspection. 
Results logged to /Users/user/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-14/2.6.0/nokogiri-1.10.10/gem_make.out 
taibuchuu-no-MacBook-Air:Portfolio user$ sudo gem install rails 
Building native extensions. This could take a while... 
ERROR:  Error installing rails: 
ERROR: Failed to build gem native extension. 
  
    current directory: /Users/user/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/nokogiri-1.10.10/ext/nokogiri 
/Users/user/.rbenv/versions/2.6.6/bin/ruby -I /Users/user/.rbenv/versions/2.6.6/lib/ruby/2.6.0 -r ./siteconf20200928-6530-ffnnel.rb extconf.rb 
checking if the C compiler accepts  -I /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... *** 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=/Users/user/.rbenv/versions/2.6.6/bin/$(RUBY_BASE_NAME) 
--help 
--clean 
/Users/user/.rbenv/versions/2.6.6/lib/ruby/2.6.0/mkmf.rb:467:in `try_do': The compiler failed to generate an executable file. (RuntimeError) 
You have to install development tools first. 
from /Users/user/.rbenv/versions/2.6.6/lib/ruby/2.6.0/mkmf.rb:585:in `block in try_compile' 
from /Users/user/.rbenv/versions/2.6.6/lib/ruby/2.6.0/mkmf.rb:532:in `with_werror' 
from /Users/user/.rbenv/versions/2.6.6/lib/ruby/2.6.0/mkmf.rb:585:in `try_compile' 
from extconf.rb:138:in `nokogiri_try_compile' 
from extconf.rb:162:in `block in add_cflags' 
from /Users/user/.rbenv/versions/2.6.6/lib/ruby/2.6.0/mkmf.rb:643:in `with_cflags' 
from extconf.rb:161:in `add_cflags' 
from extconf.rb:416:in `<main>' 
  
To see why this extension failed to compile, please check the mkmf.log which can be found here: 
  
  /Users/user/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-14/2.6.0/nokogiri-1.10.10/mkmf.log 
  
extconf failed, exit code 1 
  
Gem files will remain installed in /Users/user/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/nokogiri-1.10.10 for inspection. 
Results logged to /Users/user/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-14/2.6.0/nokogiri-1.10.10/gem_make.out 

Solution

Après avoir enquêté, je suis arrivé à l'article suivant. https://qiita.com/ksugawara61/items/fa9ebaa7d5fe4be630cf

Exécutez la commande suivante de la même manière que la méthode résolue dans l'article ci-dessus.

$ xcode-select --install

Ensuite, l'erreur suivante se produit. .. ..

xcode-select: note: install requested for command line developer tools

Si vous le recherchez, ce serait bien d'insérer manuellement l'outil de ligne de commande. Recherchez "outil de ligne de commande" sur le lien ci-dessous J'ai installé les outils de ligne de commande pour Xcode 12.

Si vous mettez dans les outils de ligne de commande correspondants, __success! !! !! __

Successfully installed rails-6.0.3.3
31 gems installed

Enfin, vous pouvez développer des Rails localement! !!

Si vous pensez

J'ai eu une erreur avec l'installation du bundle ...

$ bundle install

Puis l'erreur suivante ...

An error occurred while installing puma (4.3.4), and
Bundler cannot continue.
Make sure that `gem install puma -v '4.3.4' --source
'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  puma

J'ai fait beaucoup de recherches, mais je n'ai pas pu le résoudre.

Cependant, je l'ai finalement résolu en me référant à l'article suivant ~ ~! !! Dieu! !! https://qiita.com/ibarakishiminn/items/94bbee2109304468bf53

La procédure de la commande exécutée est la suivante! !!

# remove user-specific gems and git repos
rm -rf ~/.bundle/ ~/.gem/

# remove system-wide git repos and git checkouts
rm -rf $GEM_HOME/bundler/ $GEM_HOME/cache/bundler/

# remove project-specific settings and git repos
rm -rf .bundle/

# remove project-specific cached .gem files
rm -rf vendor/cache/

# remove the saved resolve of the Gemfile
rm -rf Gemfile.lock

# try to install one more time
bundle install

Lorsque le test des rails donne une erreur

$ rails t

Ensuite, l'erreur suivante s'est produite.

Error:
StaticPagesControllerTest#test_should_get_help:
ActionView::Template::Error: Webpacker can't find application in /Users/skydaibu/Desktop/Portfolio/sample_app/public/packs-test/manifest.json. Possible causes:
1. You want to set webpacker.yml value of compile to true for your environment
   unless you are using the `webpack -w` or the webpack-dev-server.
2. webpack has not yet re-run to reflect updates.
3. You have misconfigured Webpacker's config/webpacker.yml file.
4. Your webpack configuration is not creating a manifest.

En exécutant la commande suivante en référence à l'article ci-dessous, le test a été exécuté avec succès!

 $ rm -rf bin/webpack*
$ brew install yarn
$ rails webpacker:install
$ rails t

# Running:

...

Finished in 19.665327s, 0.1526 runs/s, 0.3051 assertions/s.
3 runs, 6 assertions, 0 failures, 0 errors, 0 skips

__ Test réussi! !! !! __

__ Enfin, vous pouvez développer correctement avec ça! !! Je suis heureux! !! __

Recommended Posts

Comment résoudre la construction de l'environnement local de Ruby on Rails (MAC)!
[Ruby on Rails] Comment changer le nom de la colonne
Déployer sur Ruby on Rails Elastic beanstalk (Construction de l'environnement)
[Construction de l'environnement Mac] Ruby on Rails (+ Webpacker gère les erreurs)
[Ruby on Rails] Comment faire de la destination du lien une partie de l'ID spécifié
[Ruby on Rails] Comment japonaisiser le message d'erreur de l'objet Form (ActiveModel)
Comment utiliser Ruby on Rails
Mémo de construction de l'environnement Ruby on Rails 6.0
[Procédure 1 pour les débutants] Ruby on Rails: Construction d'un environnement de développement
[Ruby on Rails] Comment utiliser redirect_to
Muscle Ruby on Rails Jour 1 ~ Construction de l'environnement ~
Ruby on Rails - De la construction d'environnement au développement d'application simple sur WSL2
[Rails / Heroku / MySQL] Comment réinitialiser la base de données de l'application Rails sur Heroku
Comment trouver la cause de l'erreur Ruby
[Ruby on Rails] Jusqu'à l'introduction de RSpec
Comment lier Rails6 Vue (à partir de la construction de l'environnement)
Comment créer une application avec ruby on rails (en supposant que l'environnement a été construit)
[Note personnelle] Construction de l'environnement Ruby on Rails (Windows)
[Erreur] Changer la construction de l'environnement pour utiliser oss (open source) de Ruby on Rails
Comment déboguer le traitement dans le modèle Ruby on Rails avec juste la console
Comment créer un environnement de développement Ruby on Rails avec Docker (Rails 5.x)
[Rails] Comment résoudre le décalage temporel de created_at après la méthode de sauvegarde
Comment résoudre les erreurs qui se produisent lors du test d'intégration "Ruby on Rails"
[Ruby on Rails] Comment écrire enum en japonais
[Rails] Comment changer le nom de colonne de la table
[Ruby On Rails] Comment réinitialiser DB dans Heroku
À partir d'avril 2018 Comment installer Java 8 sur Mac
[Rails] Comment obtenir le contenu des paramètres forts
SSL dans l'environnement local de Docker / Rails / puma
[Ruby on Rails] De la construction de MySQL au changement de base de données
(Ruby on Rails6) Comment créer un modèle et une table
Essayez d'utiliser l'attribut de requête Ruby on Rails
Construction de l'environnement de développement Rails6 [Mac]
Ingénieur Rails Environnement Construction Ruby2.7.1
Construction de l'environnement des rails Rails5.2.1 ruby2.5.1 Catalina
[Rails / MySQL] Construction de l'environnement Mac
Pour ceux qui souhaitent utiliser MySQL pour la base de données dans la construction de l'environnement de Rails6 ~.
[Explication approximative] Comment séparer le fonctionnement de l'environnement de production et de l'environnement de développement avec Rails
Explication de Ruby on rails pour les débutants ④ ~ À propos des règles de dénomination et comment utiliser form_Tag ~
[Ruby on Rails] Élimination de Fat Controller-First, logic to model-
(Ruby on Rails6) Affichage de la base de données qui a obtenu l'identifiant de la base de données
Supprimer tout le contenu de la page de liste [Ruby on Rails]
Une note sur la fonction de départ de Ruby on Rails
Comment afficher des graphiques dans Ruby on Rails (LazyHighChart)