macOS Catalina version: 10.15.7 (19H2)
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!
$ 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
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
$ 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
$ 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! !! __