[GO] Es wurde der Fehler behoben, dass Rails-Befehle nach Verwendung der Entwicklungsumgebung mit Docker nicht verwendet werden konnten

Ich habe ernsthaft darüber nachgedacht, etwas zu machen, also habe ich die Rails 6-Umgebung in der Entwicklungsumgebung fertiggestellt. Der Artikel, auf den ich mich bezog, ist übrigens

Für andere Teile, die nicht funktionierten, ・ Rails6 + MySQL + Nginx + Unicorn + Docker-Umgebungskonstruktionsnotiz - Qiita

Ich habe auf den obigen Artikel verwiesen.

Und dieses Mal bin ich zu Beginn des Grundkurses ein wenig gestolpert, also werde ich ein wenig darüber sprechen.

Lassen Sie uns sofort die oberste Seite der Website erstellen!

Ich wollte eine Top-Seite mit Schienen machen,

Terminal


$ rails g controller home top

Eingeben, Dann ...

Ausgabeergebnis


Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

Mit Hilfe der Google Übersetzung ↓ __Rails ist derzeit nicht auf diesem System installiert. Geben Sie $ sudo gem install Rails ein, um die neueste Version zu erhalten. __ __

Hmmm, warum ist Rails 6 definitiv installiert? Ich machte mir Sorgen um 0,5 Sekunden, aber die Antwort war einfach.

Rails gibt es nur in Docker

Was ist Docker?

Docker ist eine Open Source-Software oder eine offene Plattform zum Entwickeln, Bereitstellen und Ausführen von Anwendungen mithilfe der container-Virtualisierung. Docker isoliert Anwendungen von der Entwicklungs- und Ausführungsumgebung durch Virtualisierung auf Betriebssystemebene mithilfe der Containervirtualisierung und ermöglicht so die schnelle Bereitstellung von Anwendungen. Darüber hinaus kann die Umgebung selbst wie eine Anwendung als Code (Image) verwaltet werden. Durch die Verwendung von Docker für Entwicklung, Test und Bereitstellung kann die Zeitspanne zwischen "Schreiben von Code" und "Ausführen von Code als Produkt" erheblich verringert werden. Zitat: Docker-Wikipedia

Wie Sie aus Wikipedia sehen können, ist Docker eine Virtualisierungstechnologie. Mit anderen Worten, ich habe Rails mit Docker-Compose installiert, aber jetzt kann ich es in Docker verwenden! Es ist gut, über __ zu erkennen.

Daher ist __Rails derzeit nicht auf diesem System installiert. Geben Sie $ sudo gem install Rails ein, um die neueste Version zu erhalten. Es wurde __!

Die Lösung ist der Docker-Befehl

Terminal


$ docker-compose run web

Dies ist ein magischer Zauber.

Wenn Sie danach den vorherigen Befehl hinzufügen ...

Terminal


$ docker-compose run web rails g contoller home top

Ausgabeergebnis


Starting guminoki_db_1 ... done
Could not find generator 'contoller'. Maybe you meant "controller"?
Run `rails generate --help` for more options.

Dies scheint ein Tippfehler im Controller zu sein. Versuchen Sie es erneut.

Terminal


$ docker-compose run web rails g contoroller home top

Ausgabeergebnis


Starting guminoki_db_1 ... done
      create  app/controllers/home_controller.rb
       route  get 'home/top'
      invoke  erb
      create    app/views/home
      create    app/views/home/top.html.erb
      invoke  test_unit
      create    test/controllers/home_controller_test.rb
      invoke  helper
      create    app/helpers/home_helper.rb
      invoke    test_unit
      invoke  assets
      invoke    scss
      create      app/assets/stylesheets/home.scss

Es ist fertig! Du hast es geschafft!

schließlich

Zuvor habe ich beim Schreiben von Anwendungen in Django auch __ $ docker-compose run web__ verwendet. Ich habe völlig vergessen (Schweiß)

Beispiel für den Start eines Django-Entwicklungsservers


$ docker-compose run web python3 manage.py runserver

Und dazu

Terminal


$ docker-compose run --rm web rails g contoroller home top

Wenn Sie die Option -- rm wie folgt hinzufügen, wird der Container automatisch gelöscht, wenn der Container geschlossen wird. Dies ist sehr praktisch.

Recommended Posts

Es wurde der Fehler behoben, dass Rails-Befehle nach Verwendung der Entwicklungsumgebung mit Docker nicht verwendet werden konnten
Installieren Sie Docker unter CentOS8. Das Problem, dass der Name nicht gelöst werden konnte, wurde behoben.
Über localhost: Auf 4040 kann nicht zugegriffen werden, nachdem Spark mit Docker ausgeführt wurde
Befehle, die häufig in der Entwicklungsumgebung während der Python-Implementierung verwendet werden
Erstellen Sie die Entwicklungsumgebung von Django mit Docker neu! !! !! !!
Bereiten Sie die Entwicklungsumgebung mit anyenv vor
Die Geschichte der Verwendung von mysqlclient, da PyMySQL nicht mit Django 2.2 verwendet werden kann
Hinter dem Flyer: Docker mit Python verwenden
Informationen zu der von Ihnen verwendeten Entwicklungsumgebung
Ich habe versucht, die Operationen zusammenzufassen, die wahrscheinlich mit numpy-stl verwendet werden
Die Geschichte, dass unter Ubuntu kein 5-GHz-Bandzugangspunkt erstellt werden kann