So lösen Sie die lokale Umgebungskonstruktion von Ruby on Rails (MAC)!

Umgebung

macOS Catalina version: 10.15.7 (19H2)

Einführung

Ich mache gerade die 6. Ausgabe des Ruby on Rails-Tutorials! In diesem Tutorial wird empfohlen, Cloud9 auszuführen. Ich verwende jedoch Cloud9 und in Kapitel 3 dieses Tutorials ist die Kapazität von EC2 voll. Ich habe verschiedene Lösungen eingegeben, aber ich konnte sie nicht lösen, sodass ich keine andere Wahl hatte, als eine Umgebung vor Ort aufzubauen.

Als ich die Ruby on Rails-Umgebung lokal erstellt habe, sind viele Dinge hängen geblieben, daher habe ich die Lösungen für diese Dinge zusammengefasst! Zur gleichen Zeit, als ich aufzeichnete, "warum ich es gelöst habe, als ich feststeckte", habe ich es in der Hoffnung gepostet, dass es hilfreich wäre, wenn es jemanden gäbe, der am selben Ort feststeckt!

In den Gem-Installationsschienen ist ein Fehler aufgetreten

$ gem install rails

Der folgende Fehler tritt bei der Ausführung auf.

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 

Lösung

Nach Nachforschungen kam ich zu folgendem Artikel. https://qiita.com/ksugawara61/items/fa9ebaa7d5fe4be630cf

Führen Sie den folgenden Befehl auf die gleiche Weise aus wie die im obigen Artikel beschriebene Methode.

$ xcode-select --install

Dann tritt der folgende Fehler auf. .. ..

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

Wenn Sie nachschlagen, ist es hilfreich, das Befehlszeilenprogramm manuell einzufügen. Suchen Sie unter dem folgenden Link nach "Befehlszeilentool" Ich habe Command Line Tools für Xcode 12 installiert.

Wenn Sie die entsprechenden Befehlszeilentools eingeben, __success! !! !! __ __

Successfully installed rails-6.0.3.3
31 gems installed

Schließlich können Sie Rails lokal entwickeln! !!

Wenn du denkst

Ich habe einen Fehler bei der Bundle-Installation erhalten ...

$ bundle install

Dann der folgende Fehler ...

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

Ich habe viel recherchiert, aber ich konnte es nicht lösen.

Ich habe es jedoch endlich gelöst, indem ich mich auf den folgenden Artikel bezog ~ ~! !! Gott! !! https://qiita.com/ibarakishiminn/items/94bbee2109304468bf53

Die Prozedur des ausgeführten Befehls ist wie folgt! !!

# 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

Wenn der Schienentest einen Fehler ergibt

$ rails t

Dann ist der folgende Fehler aufgetreten.

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.

Mit Bezug auf den folgenden Artikel habe ich den folgenden Befehl ausgeführt und der Test wurde normal ausgeführt!

 $ 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 erfolgreich! !! !! __ __

__ Endlich können Sie sich damit richtig entwickeln! !! Ich bin glücklich! !! __ __

Recommended Posts

So lösen Sie die lokale Umgebungskonstruktion von Ruby on Rails (MAC)!
[Ruby on Rails] So ändern Sie den Spaltennamen
Bereitstellen auf Ruby on Rails Elastische Bohnenstange (Umgebungskonstruktion)
[Umgebungskonstruktion Mac] Ruby on Rails (+ Webpacker behandelt Fehler)
[Ruby on Rails] So machen Sie das Linkziel zu einem Teil der angegebenen ID
[Ruby on Rails] So japanisieren Sie die Fehlermeldung des Formularobjekts (ActiveModel)
Verwendung von Ruby on Rails
Ruby on Rails 6.0-Umgebungskonstruktionsnotiz
[Verfahren 1 für Anfänger] Ruby on Rails: Aufbau einer Entwicklungsumgebung
[Ruby on Rails] Verwendung von redirect_to
Muskel Rubin auf Schienen Tag 1 ~ Umweltbau ~
Ruby on Rails - Von der Umgebungskonstruktion bis zur einfachen Anwendungsentwicklung auf WSL2
[Rails / Heroku / MySQL] So setzen Sie die Datenbank der Rails-App auf Heroku zurück
So finden Sie die Ursache des Ruby-Fehlers
[Ruby on Rails] Bis zur Einführung von RSpec
So verknüpfen Sie Rails6 Vue (aus dem Umgebungsbau)
So erstellen Sie eine App mit Ruby on Rails (vorausgesetzt, die Umgebung wurde erstellt)
[Persönliches Memo] Ruby on Rails-Umgebungskonstruktion (Windows)
[Fehler] Wechseln Sie die Umgebungskonstruktion, um oss (Open Source) von Ruby on Rails zu verwenden
So debuggen Sie die Verarbeitung im Ruby on Rails-Modell nur mit der Konsole
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 5.x)
[Rails] So lösen Sie die Zeitverzögerung von created_at nach der Speichermethode
So beheben Sie Fehler, die beim Integrationstest "Ruby on Rails" auftreten
[Ruby on Rails] Wie schreibe ich eine Enumeration auf Japanisch?
[Rails] So ändern Sie den Spaltennamen der Tabelle
[Ruby On Rails] So setzen Sie die Datenbank in Heroku zurück
Stand April 2018 So installieren Sie Java 8 auf einem Mac
[Rails] So erhalten Sie den Inhalt starker Parameter
SSL in der lokalen Umgebung von Docker / Rails / Puma
[Ruby on Rails] Von der MySQL-Konstruktion zum Datenbankwechsel
(Ruby on Rails6) So erstellen Sie ein Modell und eine Tabelle
Versuchen Sie es mit dem Ruby on Rails-Abfrageattribut
Aufbau der Rails6-Entwicklungsumgebung [Mac]
Rails Engineer Environment Construction Ruby2.7.1
Schienen Umgebungsbau Schienen5.2.1 ruby2.5.1 Catalina
[Rails / MySQL] Aufbau einer Mac-Umgebung
Für diejenigen, die MySQL für die Datenbank in der Umgebungskonstruktion von Rails6 ~ verwenden möchten.
[Grobe Erklärung] So trennen Sie den Betrieb der Produktionsumgebung und der Entwicklungsumgebung mit Rails
Erklärung von Ruby on Rails für Anfänger ④ ~ Informationen zu Benennungsregeln und zur Verwendung von form_Tag ~
[Ruby on Rails] Eliminierung von Fat Controller-First, Logik zum Modell-
(Ruby on Rails6) Anzeige der Datenbank, die die ID der Datenbank erhalten hat
Alle Inhalte der Listenseite löschen [Ruby on Rails]
Ein Hinweis zum Seed-Feature von Ruby on Rails
So zeigen Sie Diagramme in Ruby on Rails an (LazyHighChart)