webentwicklung-frage-antwort-db.com.de

Wie "aktiviere" ich eine andere Version eines bestimmten Edelsteins?

Ich möchte zwischen Rails 2.3.10 als "aktivem" Juwel für mein Betriebssystem wechseln, damit ich es über die Befehlszeile aufrufen kann.

Ist das möglich? Ich benutze kein rvm. Vielleicht ist es Zeit zu beginnen.

Ich habe es versucht gem install Rails --version=2.3.10, aber das stellt nur sicher, dass die Version des Gems installiert ist, es wird nicht in /usr/bin/Rails.

(Ich benutze Bundler bereits für meine Apps - aber bis jetzt brauchte ich keine genaue Kontrolle über Gems auf Betriebssystemebene.)

79
John Bachir

Wenn Ihr Problem darin besteht, Binärdateien einer bestimmten Version auszuführen, dann:

Rails --version # => the latest version
Rails _2.3.10_ --version # => Rails 2.3.10

Dieses Muster (gem-binary _gem-version_) funktioniert für jede Gem-Binärdatei.

Ich hoffe es hilft.

147
Daniel Vartanov

Verwenden Sie RVM

Mit RVM können Sie verschiedene Versionen von Ruby und Gems verwalten. Sie können eine Version von Ruby installieren, indem Sie beispielsweise verwenden

rvm install 1.9.2

Sie können es dann verwenden mit:

rvm use 1.9.2

Verwenden Sie bestimmte Edelsteine ​​auf Projektbasis mit Edelsteinsätzen.

Wenn Sie weitere Namespaces wünschen, können Sie Gemsets einrichten. Verzeichnisse, die bestimmte Edelsteine ​​für ein bestimmtes Projekt enthalten.

rvm gemset create myproject

dann kannst du sie so benutzen:

rvm use [email protected]

Automatisierung

Um den Prozess des Wechsels zwischen Edelsteinen zu automatisieren, platzieren Sie . Ruby-Version und . Ruby-Gemset Dateien in Ihrem Projektstamm. Öffnen Sie die Version von Ruby und den Namen des Gemsets, das Sie darin verwenden möchten, und RVM wählt das richtige Gemset aus, wenn Sie eine CD in Ihr Projektverzeichnis einfügen.

Installieren von Edelsteinen in Ihrem Gemset

Installieren Sie Ihre Edelsteine ​​auf die übliche Weise mit Bundler in Ihrem Gemset, wenn Sie es verwenden:

bundle install

oder einfach mit dem normalen alten:

gem install mygem

Die Edelsteine ​​werden in die richtige Edelsteingruppe eingefügt.

RVM-Alternativen

Vielleicht möchten Sie auch rbenv ausprobieren, das ähnliche Aufgaben ausführt.

10
superluminary

Sie können RVM verwenden

Anschließend können Sie auch Bundler verwenden, um die Gem-Abhängigkeiten zu verwalten.

In Ihrem Gemfile

gem "Rails", "2.3.10"

und in Ihrer Anwendung

require 'rubygems'
require 'bundler/setup'

und du bist fertig.

7
Chubas

EDIT: Habe gerade deine RVM Erwähnung in der Post gesehen. Auf jeden Fall der richtige Weg.

Sie werden RVM installieren wollen - es ist ein erstaunliches Paket, mit dem Sie verschiedene Rubys und verschiedene Sätze von Edelsteinen auf demselben Computer verwalten können. Sie können ganz einfach hin und her wechseln.

Hier ist die Installationsanleitung: http://rvm.beginrescueend.com/rvm/install/

Sobald du alles hast, siehst du alle installierten Rubine in der Kommandozeile mit mit rvm list und wechseln mit rvm use Ruby-head, zum Beispiel. RVM hält die Edelsteine ​​auf jedem Ruby) separat, was bei Ihrer Frage helfen sollte.

3
Sam Ritchie