Où sont mes Joyaux?
Vous pouvez trouver où vos pierres sont stockées à l'aide de l' gem environment
commande. Par exemple:
chris@chris-laptop:~$ gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.2
- RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /usr/bin/ruby1.8
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /usr/lib/ruby/gems/1.8
- /home/chris/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
Si vous regardez la "GEMME CHEMINS:" section, vous pouvez voir que les gemmes peuvent être stockées à deux endroits sur mon portable: /usr/lib/ruby/gems/1.8
ou dans l' .gem
répertoire dans mon répertoire home.
Vous pouvez également voir que les exécutables sont stockés dans le RÉPERTOIRE EXÉCUTABLE qui dans ce cas est - /usr/bin
.
Parce qu' /usr/bin
est dans mon chemin, cela me permet d'exécuter cap
, merb
, rails
etc.
Mise à jour de votre CHEMIN
Si, pour quelque raison que votre RÉPERTOIRE EXÉCUTABLE n'est pas sur votre chemin (par exemple si elle est /var/lib/gems/1.8/bin) puis vous devez mettre à jour votre variable d'environnement PATH.
En supposant que vous utilisez le shell bash. Vous pouvez le faire rapidement pour la session en cours en tapant le texte suivant à l'invite du shell; imaginons que vous souhaitez ajouter /var/lib/gems/1.8/bin
le chemin:
export PATH=$PATH:/var/lib/gems/1.8/bin
et appuyez sur la touche retour. Qui ajoute le nouveau répertoire à la fin du chemin d'accès actuel. Notez la virgule entre $PATH
et /var/lib/gems/1.8/bin
Pour définir la valeur pour toutes les séances, vous aurez besoin de modifier votre .profile
ou .bashrc
le fichier et ajouter la même ligne à la fin du fichier. J'ai l'habitude de modifier mon .bashrc
le fichier pour aucune autre raison que c'est ce que j'ai toujours fait. Lorsque vous avez terminé, enregistrez le fichier, puis actualisez votre environnement en tapant:
bash
à l'invite du shell. Qui sera la cause de la .bashrc
pour obtenir relire.
Vous pouvez à tout moment vérifier la valeur actuelle de l' $PATH
en tapant
echo $PATH
à l'invite du shell.
Voici un exemple de l'un de mes propres serveurs, où mon nom d'utilisateur est "chris" et le nom de la machine est "chris-portable":
chris@chris-laptop:~$
chris@chris-laptop:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
chris@chris-laptop:~$
chris@chris-laptop:~$ export PATH=$PATH:/var/lib/gems/1.8/bin
chris@chris-laptop:~$
chris@chris-laptop:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/var/lib/gems/1.8/bin
chris@chris-laptop:~$
Mon Bijou ne se charge pas!
"Les gems Ruby ne se charge pas, même si installé", souligne un problème commun à l'aide de plusieurs différentes versions de Ruby; Parfois, le Joyau de l'environnement et de Gem chemin sortir de la synchronisation:
rb(main):003:0> Gem.path
=> ["/opt/ruby1.9/lib/ruby1.9/gems/1.9.1"]
irb(main):004:0> exit
Toute Ruby processus ici est à la recherche à un seul endroit pour ses pierres précieuses.
:~/$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.9.1 (2009-05-12 patchlevel 129) [x86_64-linux]
- INSTALLATION DIRECTORY: /opt/ruby1.9/lib/ruby/gems/1.9.1
- RUBY EXECUTABLE: /opt/ruby1.9/bin/ruby1.9
- EXECUTABLE DIRECTORY: /opt/ruby1.9/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /opt/ruby1.9/lib/ruby/gems/1.9.1
- /home/mark/.gem/ruby/1.9.1
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
Regardez attentivement à la sortie de la gemme de l'environnement:
- GEM PATHS:
- /opt/ruby1.9/lib/ruby/gems/1.9.1
Ce n'est pas le même chemin que celui retourné par le Gem.chemin d'accès:
["/opt/ruby1.9/lib/ruby1.9/gems/1.9.1"]
Il est difficile de dire ce qu'est exactement causé lib/ruby
de changement lib/ruby1.9
, mais plus probablement le développeur a été de travailler avec de multiples versions Rubis. Un rapide mv
ou ln
permettra de résoudre le problème.
Si vous avez besoin de travailler avec de multiples versions Rubis alors vous devez vraiment être à l'aide de rvm.