Wenn Sie einfach eine Ruby / Rails-Entwicklungsumgebung erstellen möchten, ist Docker die beste Wahl. Hier wird Mac OS als Host-Betriebssystem verwendet. (Siehe hier für Ubuntu-Hosts)
Im Docker-Container ist das Basisbetriebssystem Ubuntu 20.04, und die Bibliotheken und Ruby selbst, die zum Ausführen von Rails-Anwendungen erforderlich sind, werden installiert. Die Rails-Anwendung selbst kann von einem lokalen Verzeichnis auf dem Host-Betriebssystem aus referenziert werden. Dies dient dazu, dass der Docker-Container die Ausführungsumgebung der Rails-Anwendung verwaltet und die Bearbeitung der Rails-Anwendung und die Quellcodeverwaltung durch den Editor auf dem Host-Betriebssystem realisiert.
Es hat die folgenden Vorzüge.
Bitte installieren Sie den Docker-Dienst im Voraus auf dem Host-Betriebssystem.
Legen Sie zunächst die folgenden Dateien in einem beliebigen Verzeichnis ab.
Dockerfile.dev
#Ruby von Docker/Erstellen einer Rails-Entwicklungsumgebung
#
#Installieren Sie eine beliebige Version von Ruby auf einem Ubuntu-basierten Container
#Auch Knoten.Installieren Sie js
#Rails-Anwendungen werden im lokalen Verzeichnis des Host-Betriebssystems und nicht im Container generiert
From ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
#Aktualisieren Sie die unter Ubuntu installierte Software
RUN apt-get update -y
RUN apt-get upgrade -y
#Passend zu den Paketen, die zum Erstellen von Ruby benötigt werden-Installieren Sie über get
RUN apt-get install -y build-essential
RUN apt-get install -y libssl-dev libreadline-dev zlib1g-dev
RUN apt-get install -y git wget
#Bei Verwendung von sqlite3 ist eine Bibliothek erforderlich
RUN apt-get install libsqlite3-dev
#Bibliothek erforderlich, wenn MySQL oder MariaDB verwendet wird
RUN apt-get install -y libmysqlclient-dev
#Andere nützliche Werkzeuge
RUN apt-get install -y nano
# ruby-Installieren Sie eine beliebige Ruby-Version mit Build
RUN git clone --depth=1 https://github.com/rbenv/ruby-build
RUN PREFIX=/usr/local ./ruby-build/install.sh
RUN rm -rf ruby-build
RUN ruby-build 2.7.2 /usr/local
# node.js,Installieren Sie npm
RUN apt-get install -y nodejs npm
#n Paket installiert
RUN npm install n -g
#Installieren Sie den Knoten mit dem n-Paket
RUN n stable
#Der alte Knoten, den Sie zuerst eingegeben haben.js,Npm entfernen
RUN apt-get purge -y nodejs npm
#Garnpaket einlegen
RUN npm install yarn -g
Im Folgenden wird beschrieben, wie Sie einen Container erstellen (Ändern Sie Ihren_App_Namen in Ihren Anwendungsnamen)
$ export YOURAPP=your_app_name
$ docker build -t $YOURAPP -f Dockerfile.dev .
Starten Sie den Container
$ export REPO=`pwd`
$ docker run -d --name $YOURAPP -v $REPO/:/$YOURAPP/ -p 4000:3000 -ti $YOURAPP
Starten Sie Bash auf dem Container und erstellen Sie eine Rails-Anwendung.
$ docker exec -ti $YOURAPP bash
Wechseln Sie in Ihr Anwendungsverzeichnis (Ändern Sie Ihren_App_Namen in Ihren Anwendungsnamen)
$ cd /your_app_name
Führen Sie bundle init aus, um eine Gemfile-Datei zu erstellen
$ bundle init
Bearbeiten Sie die Gemfile (verwenden Sie den Nano-Editor unten)
$ nano Gemfile
Kommentar # gem "Rails" in Gemfile auskommentieren (Ändern Sie # gem "Rails" in gem "Rails")
Installieren Sie Rails-bezogene Gem auf Hersteller / Bundle mit Bundle-Installation
$ bundle config set path 'vendor/bundle'
$ bundle install
Rails New erstellt eine neue Rails-Anwendung in diesem Verzeichnis Überschreiben / Beispiel / Gemfile? (Geben Sie "h" für Hilfe ein) Antworten Sie mit Y, wenn Sie gefragt werden [Ynaqdhm]
$ bundle exec rails new .
Starten Sie eine Rails-Anwendung Stellen Sie die zu bindende IP-Adresse auf 0.0.0.0 ein, damit vom Host-Betriebssystem aus darauf zugegriffen werden kann.
$ bundle exec rails s -b 0.0.0.0
Nachdem die Arbeit am Container abgeschlossen ist, greifen Sie erneut mit dem Browser des Host-Betriebssystems auf http: // localhost: 4000 zu. Wenn Yay! You are on Rails! Im Browser angezeigt wird, ist dies erfolgreich.