Antworten:
Verwenden Sie die -v
Flagge:
$ gem install fog -v 1.8
gem list | grep rake
= rake (10.1.1, 10.1.0, 0.8.7)
.. Ich habe ein Rails 2.3.5-Projekt und ein anderes, das 3.0 ist, an dem ich gleichzeitig arbeite. Wie verwende ich eine bestimmte Version von Rake für jedes Projekt (dh auf Befehl Linie?)
rake _10.1.1_ ...
sollte funktionieren, für alle, die es wissen wollen :)
Verwenden Sie den --version
Parameter (Verknüpfung -v
):
$ gem install rails -v 0.14.1
Sie können auch Versionskomparatoren wie >=
oder verwenden~>
$ gem install rails -v '~> 0.14.0'
Oder sogar mit neueren Versionen von gem :
$ gem install rails:0.14.4 rubyzip:'< 1'
…
Successfully installed rails-0.14.4
Successfully installed rubyzip-0.9.9
~>
?
Verwenden Sie für Ruby 1.9+ Doppelpunkt.
gem install sinatra:1.4.4 prawn:0.13.0
gem sources
, wenn es leer ist, fügen Sie ein Repo mit diesem Befehl hinzu:gem sources -a https://rubygems.org/
gem -v
Shows 1.8.23
gegen deine 2.2.2
. Sieht aus wie diese Funktion ist neu :)
Wie andere angemerkt haben, verwenden Sie im Allgemeinen das -v
Flag für den gem install
Befehl.
Wenn Sie einen Edelstein vor Ort entwickeln, nachdem Sie einen Edelstein aus Ihrer Edelsteinspezifikation herausgeschnitten haben:
$ gem install gemname-version.gem
Unter der Annahme von Version 0.8 würde dies folgendermaßen aussehen:
$ gem install gemname-0.8.gem
Linux
Um eine andere Version von Ruby zu installieren, überprüfen Sie die neueste Version des Pakets apt
wie folgt:
$ apt-cache madison ruby
ruby | 1:1.9.3 | http://ftp.uk.debian.org/debian/ wheezy/main amd64 Packages
ruby | 4.5 | http://ftp.uk.debian.org/debian/ squeeze/main amd64 Packages
Dann installieren Sie es:
$ sudo apt-get install ruby=1:1.9.3
Führen Sie Folgendes aus, um die aktuelle Version zu überprüfen:
$ gem --version # Check for the current user.
$ sudo gem --version # Check globally.
Wenn die Version noch alt ist, können Sie versuchen, die Version mithilfe von ruby version manager ( rvm
) auf neu zu ändern, indem Sie:
rvm 1.9.3
Hinweis: Sie können ihm ein Präfix voranstellen, sudo
wenn rvm
es global installiert wurde. Oder führen Sie aus, /usr/local/rvm/scripts/rvm
wenn sich Ihr Befehl rvm
nicht in Ihrem globalen Befehl befindet PATH
. Wenn der rvm-Installationsprozess fehlgeschlagen ist, lesen Sie den Abschnitt zur Fehlerbehebung.
Fehlerbehebung:
Wenn Sie noch die alte Version haben, können Sie versuchen, rvm (Ruby Version Manager) über Folgendes zu installieren:
sudo apt-get install curl # Install curl first
curl -sSL https://get.rvm.io | bash -s stable --ruby # Install only for the user.
#or:# curl -sSL https://get.rvm.io | sudo bash -s stable --ruby # Install globally.
Wenn lokal installiert (nur für den aktuellen Benutzer), laden Sie rvm über:
source /usr/local/rvm/scripts/rvm; rvm 1.9.3
Wenn global (für alle Benutzer), dann:
sudo bash -c "source /usr/local/rvm/scripts/rvm; rvm 1.9.3"
Wenn Sie immer noch Probleme mit der neuen Ruby-Version haben, versuchen Sie, sie von rvm über Folgendes zu installieren:
source /usr/local/rvm/scripts/rvm && rvm install ruby-1.9.3 # Locally.
sudo bash -c "source /usr/local/rvm/scripts/rvm && rvm install ruby-1.9.3" # Globally.
Wenn Sie einige Edelsteine global installieren möchten und rvm bereits installiert haben, können Sie Folgendes versuchen:
rvmsudo gem install [gemname]
anstatt:
gem install [gemname] # or:
sudo gem install [gemname]
Hinweis: Es wird bevorzugt, KEIN Sudo zu verwenden, um mit RVM-Edelsteinen zu arbeiten. Wenn Sie sudo ausführen, führen Sie Befehle als root aus, ein anderer Benutzer in einer anderen Shell und damit alle Einstellungen, die RVM für Sie vorgenommen hat, werden ignoriert, während der Befehl unter sudo ausgeführt wird (z. B. GEM_HOME usw.). Um es noch einmal zu wiederholen: Sobald Sie "sudo" sind, werden Sie als Root-Systembenutzer ausgeführt, der Ihre Umgebung sowie alle von ihm erstellten Dateien löscht. Sie können von Ihrem Benutzer nicht geändert werden und führen dazu, dass seltsame Dinge passieren.
gem uninstall fog
. Sie werden gefragt, welche Version deinstalliert werden soll, wenn Sie mehr als eine haben.