Ich habe zwei Versionen von Rails (2.1.0 und 2.2.2) in meinem Computer installiert.
Kann ich beim Erstellen einer neuen Anwendung angeben, dass ich die ältere Version (2.1.0) verwenden möchte?
Ich habe zwei Versionen von Rails (2.1.0 und 2.2.2) in meinem Computer installiert.
Kann ich beim Erstellen einer neuen Anwendung angeben, dass ich die ältere Version (2.1.0) verwenden möchte?
Ich fand aquí eine undokumentierte Option zur Erstellung einer neuen Anwendung mit einer älteren Version von Rails.
rails _2.1.0_ new myapp
Sie sollten dies auf die akzeptierte Antwort ändern, da es für Rails 2 und 3 funktioniert. Die Antwort von Keltia wird nicht mehr funktionieren, wenn Sie Rails 3 installiert haben und eine Rails 2-Applikation wünschen.
Irrtümlicherweise schlägt die Installation von Rails 3 fehl bei 2.3.5 -- Soeben auf Mac OS X Snow Leopard mit diesen installierten Modulen getestet:rails (3.0.5, 2.3.5, 2.2.2, 1.2.6)
Dies ist eine RubyGems-Funktionalität, keine Rails-Funktionalität; sie ist daher nicht von der Rails-Version abhängig und funktioniert auch mit anderen Gems. (Danke, das ist eine tolle Antwort!)
Ich hatte einige Probleme mit der rails _version_ new application_name
(das resultierende Projekt wurde noch für die neueste installierte Version von Rails erstellt).
Nach einigem Suchen fand ich ein Artikel por Michael Trojanek mit einem alternativen Ansatz. Dies funktioniert, indem man einen Ordner mit einem Gemfile erstellt, das die gewünschte Version von Rails angibt und dann mit bundle exec rails...
so dass Bundler sich um die Ausführung der entsprechenden Version von rails
. z.B. um ein neues Rails 4.2.9 Projekt zu erstellen sind die Schritte:
mkdir myapp
cd myapp
echo "source 'https://rubygems.org'" > Gemfile
echo "gem 'rails', '4.2.9'" >> Gemfile
bundle install
bundle exec rails new . --force --skip-bundle
bundle update
Ich glaube nicht, dass es notwendig ist bundle update
wird es auch Schienen aktualisieren!!
@devel die bundle update
ist erforderlich, weil eine manuelle Aktualisierung verwendet wird ( --skip-bundle
). Rails wird nicht aktualisiert, da in der Gemfile eine bestimmte Version angegeben ist (im Beispiel 4.2.9).
Wie von @mikej zu Recht hervorgehoben Rails 5.0.0 oder höher sollten Sie diese Schritte befolgen:
Erstellen Sie ein Verzeichnis für Ihre Anwendung zusammen mit einem Gemfile, um die gewünschte Rails-Version anzugeben und lassen Sie Bundler die abhängigen Gems installieren:
$ mkdir myapp
$ cd myapp
$ echo "source 'https://rubygems.org'" > Gemfile
$ echo "gem 'rails', '5.0.0.1'" >> Gemfile
$ bundle install
Überprüfen Sie, ob die richtige Version von Rails installiert ist: $ bundle exec rails -v
Erstellen Sie nun Ihre Anwendung, lassen Sie Rails ein neues Gemfile erstellen (oder überschreiben Sie das bestehende mit der Option --force
Flagge) und anstelle der Installation des Pakets ( --skip-bundle
) sie manuell aktualisieren:
$ bundle exec rails new . --force --skip-bundle
Wenn Sie den Eintrag für Schienen in Gemfile
sollte es so sein:
gem 'rails', '~> 5.0.0', '>= 5.0.0.1'
Sie sollten sie auf die genaue Version aktualisieren, die für die Anwendung benötigt wird:
gem 'rails', '5.0.0.1'
Und nun der letzte Schritt:
$ bundle update
Es gibt zwei Möglichkeiten, dies zu erreichen:
eine, wie in der akzeptierten Antwort vorgeschlagen:
gem install rails -v 2.1.0 #only when the gem has not been installed in the desired ruby version you are using, so that you don't get error on next step
rails _2.1.0_ new my_app
und eine alternative Methode ist, gemfile mit der gewünschten Rails-Version zu erstellen, bevor das Rails-Projekt initialisiert wird
mkdir my_app
cd my_app
echo "source 'https://rubygems.org'" > Gemfile
echo "gem 'rails', '2.1.0'" >> Gemfile
bundle install
bundle exec rails new . --force --skip-bundle
Ich habe darüber ausführlich geschrieben in meinem Artikel
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
0 Stimmen
railshorde.com/blog/