De opdrachtregel gebruiken gem
Tool, hoe kan ik een specifieke versie van een edelsteen installeren?
Antwoord 1, Autoriteit 100%
Gebruik de -v
vlag:
$ gem install fog -v 1.8
Antwoord 2, Autoriteit 17%
Gebruik de --version
parameter (snelkoppeling -v
):
$ gem install rails -v 0.14.1
…
Successfully installed rails-0.14.1
U kunt ook versie-comparators gebruiken zoals >=
of ~>
$ gem install rails -v '~> 0.14.0'
…
Successfully installed rails-0.14.4
Met nieuwere versies van Rubygems U kunt uw vereisten aanscherpen:
$ gem install rails -v '~> 0.14.0, < 0.14.4'
…
Successfully installed rails-0.14.3
Sinds een tijdje kunt u nu ook versies van meerdere edelstenen specificeren:
$ gem install rails:0.14.4 rubyzip:'< 1'
…
Successfully installed rails-0.14.4
Successfully installed rubyzip-0.9.9
Maar dit werkt niet voor meer dan één comparator per edelsteen (nog).
Antwoord 3, Autoriteit 8%
voor installatie
gem install gemname -v versionnumber
voor de installatie van de installatie
gem uninstall gemname -v versionnumber
Antwoord 4, Autoriteit 8%
Voor Ruby 1.9+ gebruik Colon.
gem install sinatra:1.4.4 prawn:0.13.0
Antwoord 5, Autoriteit 2%
Zoals anderen hebben opgemerkt, gebruikt u in het algemeen de -v
vlag voor de gem
opdracht.
Als u lokaal een edelsteen ontwikkelt, na het snijden van een edelsteen van uw Gemspec:
$ gem install gemname-version.gem
Veronderstellen van versie 0.8, het zou er als volgt uitzien:
$ gem install gemname-0.8.gem
Antwoord 6
U kunt de -v
of --version
VLAG gebruiken. Bijvoorbeeld
gem install bitclock -v '< 0.0.2'
Om de begrenzen van de bovenste en onderste versie op te geven, kunt u de --version
flag op twee keer
opgeven
gem install bitclock -v '>= 0.0.1' -v '< 0.0.2'
of gebruik de syntaxis (bijvoorbeeld)
gem install bitclock -v '>= 0.0.1, < 0.0.2'
De andere manier om het te doen is
gem install bitclock:'>= 0.0.1'
Maar met de laatste optie is het niet mogelijk om tegelijkertijd de bovenste en onderste grenzen te specificeren.
[Gem 3.0.3 en RUBY 2.6.6]
Antwoord 7
linux
Controleer de nieuwste versie van het pakket met de nieuwste versie van het pakket met apt
zoals hieronder:
$ 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
Installeer het vervolgens:
$ sudo apt-get install ruby=1:1.9.3
Om te controleren wat de huidige versie, uit te voeren:
$ gem --version # Check for the current user.
$ sudo gem --version # Check globally.
Als de versie is nog steeds oud, kunt u proberen om de versie te schakelen naar de nieuwe met behulp van ruby versie manager (rvm
) op:
rvm 1.9.3
Opmerking: U kunt het voorvoegsel door sudo
als rvm
is wereldwijd geïnstalleerd. Of run /usr/local/rvm/scripts/rvm
als uw opdracht rvm
is niet in uw algemene PATH
. Als rvm installatieproces is mislukt, zie het gedeelte Problemen oplossen.
Problemen oplossen:
-
Als u nog steeds de oude versie, kunt u proberen te RVM (ruby versie manager) installeren via:
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.
dan als lokaal (alleen voor de huidige gebruiker) geïnstalleerd, belasting rvm via:
source /usr/local/rvm/scripts/rvm; rvm 1.9.3
als globaal (voor alle gebruikers), dan:
sudo bash -c "source /usr/local/rvm/scripts/rvm; rvm 1.9.3"
-
Als u nog steeds problemen met de nieuwe ruby versie, proberen te installeren door rvm via:
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.
-
als je een aantal edelstenen wereldwijd wilt installeren en je hebt rvm al geïnstalleerd, kun je het volgende proberen:
rvmsudo gem install [gemname]
in plaats van:
gem install [gemname] # or: sudo gem install [gemname]
Opmerking: het heeft de voorkeur om GEEN sudo te gebruiken om met RVM-edelstenen te werken. Wanneer je dat doet?
sudo je voert opdrachten uit als root, een andere gebruiker in een andere shell
en daarom wordt alle instellingen die RVM voor u heeft gedaan genegeerd terwijl
de opdracht wordt uitgevoerd onder sudo (zoals GEM_HOME, enz…). dus om
herhaal, zodra je ‘sudo’ draait, draai je als het rootsysteem
gebruiker die uw omgeving en alle bestanden zal wissen
maakt kunnen niet worden gewijzigd door uw gebruiker en zal resulteren in:
er gebeuren vreemde dingen.