Wie erstelle ich ein GEM_HOME für rvm?

2264
Michael

Ich lerne, wie man mit rvm verschiedene Versionen von Ruby mit verschiedenen Versionen von Schienen aufbaut. Hier ist ein Link für die Anweisungen http://beginrescueend.com/gemsets/basics/ . Es sagt

Nehmen wir zum Beispiel an, Sie testen zwei Versionen eines Edelsteins mit Ruby 1.9.2-Kopf. Sie können eines mit der Standardeinstellung 1.9.2 installieren, dann ein benanntes Gemset für die andere Version erstellen und problemlos zwischen ihnen wechseln. Beispiel: Edelsteine ​​testen

$ rvm 1.9.2-head@testing  will use a '1.9.2-head@testing' GEM_HOME (be sure to create it 

erster), wobei:

Ich habe schon erstellt

rvm install 1.8.7-head rvm install 1.9.2 

aber wie erstelle ich diesen rvm 1.9.2-head@testing.

Es gibt etwas, was ich nicht über die Anweisungen bekomme ... Bitte klären Sie, ob Sie können.

Prost

3

1 Antwort auf die Frage

7
slhck

Was ist ein Gemset?

Ich habe schon erstellt

rvm install 1.8.7-head rvm install 1.9.2 

Damit haben Sie zwei Rubies (keine Gemsets) installiert, nämlich die Versionen 1.8.7 und 1.9.2. Dies sind (einfach gesagt) nur zwei Versionen des Ruby-Interpreters / der Sprache.

In jeder Ruby-Version sind normalerweise ein paar Gems installiert (Rails ist einer). Betrachten Sie es als Plug-In. Im Normalfall haben Sie auf Ihrem System nur einen Satz Plugins für Ruby. Mit RVM können Sie es jedoch so konfigurieren, dass pro Ruby-Version mehrere "Gemsets" verwendet werden. So können Sie mehrere Ruby-Versionen (z. B. Ruby 1.8.7 und 1.9.2) verwenden und jede von ihnen unterschiedliche Gemsets verwenden.

In Ihrem Fall möchten Sie vielleicht zwei Gemsets für jede Ihrer Versionen haben:

enter image description here

Neben den von Ihnen erstellten Gemsets verfügt jedes Ruby auch über "Standard" -Insets. Dies ist der Wert, den Sie erhalten, wenn Sie beim Wechseln keinen Gemset-Namen angeben. Alle haben ein "globales" Gemset.


Wie erstellst du ein Gemset?

Wie erstellt man so ein "testendes" Gemset?

Wechseln Sie gemäß dem Handbuch zuerst zu der Ruby-Version, die Sie verwenden möchten:

rvm 1.9.2 

… Und dann das Gemset erstellen, in Ihrem Fall "testing". Der Teil über GEM_HOME, na gut, vergiss es. Das Handbuch erwähnt nicht, wie es erstellt wird. Sie müssen etwas weiter unten zum Beispiel lesen:

rvm gemset create testing 

Jetzt hat Ihr Ruby 1.9.2 ein Gemset namens "testing", zu dem Sie wechseln können

rvm 1.9.2@testing 

Jeder Gem, den Sie installieren, gem installwird sich in diesem Gemset befinden. Wenn Sie ein anderes Gemset erstellen (verwenden rvm gemset create) und zu diesem wechseln, ist der zuvor installierte Gem nicht verfügbar, da Sie jetzt in einem anderen Gemset arbeiten.

Ich danke dir sehr. Ich hatte ein anderes Problem beim Starten des Servers in diesen neuen Rvm-Setups. Wenn Sie Zeit haben, wäre ich sehr dankbar. Ich habe eine Frage an http://superuser.com/questions/340598/cant-find-sqlite3-in-this-ruby-rails-version-using-rvm gepostet Michael vor 13 Jahren 0
Ich muss morgen nachsehen. Scheint wie ein Cache oder eine Inkompatibilität, nicht sicher! slhck vor 13 Jahren 0
ok, vielen Dank, wenn Sie morgen Zeit haben. Ich schätze Ihre Hilfe. Michael vor 13 Jahren 0
Beachten Sie auch, dass jeder Rubin auch ein "Standard-Gemset" hat, das Sie erhalten, wenn Sie keinen Gemset nach Namen angeben. und ein "globales" gemset, mit dem Sie Edelsteine ​​wechseln und installieren können, die in _all_-Gemsets angezeigt werden. Andrew Vit vor 13 Jahren 0