2009-02-26 11 views
2

Je viens d'installer Ruby Enterprise Edition et j'installe quelques gemmes pour cela. Stock Ruby 1.8.6 est également installé sur le serveur.En utilisant Ruby Enterprise Edition, les gemmes ne sont pas installées là où je m'attendrais

J'ai ajouté à mon /opt/ruby-enterprise-1.8.6-20090201/binPATH une tête de /usr/binruby et gem en direct.

which gem confirme:

/opt/ruby-enterprise-1.8.6-20090201/bin/gem

Cependant, quand j'installer des gems comme ceci:

gem install some_gem

Ils se retrouvent dans /usr/lib/ruby/gems/1.8/gems/ au lieu de /opt/ruby-enterprise-1.8.6-20090201/lib/ruby/gems/1.8/gems/.

Mais si j'utilise /opt/ruby-enterprise-1.8.6-20090201/bin/gem install some_gem, va dans le répertoire gem de REE.

Je ne comprends pas. Y at-il une option de configuration que je dois changer? I suis en utilisant sudo ici. Peut-être que ceci a quelque chose à y voir?

Répondre

12

Il y a une bonne explication de ce qui se passe ici:

sudo changes PATH - why?

Cela suppose que vous utilisez Ubuntu. sudo change le chemin sous ubuntu.

La gemme que vous avez dans/usr/bin/est probablement un lien symbolique vers /usr/bin/gem1.8. Ce que j'ai fait était la gemme de symlink ruby-enterprise à/usr/bin/ree-gem comme ceci:

sudo ln -s /opt/ruby-enterprise-1.8.6-20090201/bin/gem/usr/bin/ree-gem

puis-je utiliser simplement:

ree-sudo gem install some_gem

installer des pierres précieuses spécifiquement pour REE. Si vous n'utilisez pas le rubygem ruby ​​1.8.6, vous pouvez symlinker la gem REE à/usr/bin/gem à la place:

sudo ln -s /opt/ruby-enterprise-1.8.6-20090201/bin/ gem/usr/bin/gem

+0

Wow, très intéressant! J'utilise Ubuntu. Je ne savais pas que sudo sur Ubuntu n'a pas changé le chemin. C'est bizare. –

0

Une solution que j'ai utilisée pour un problème similaire consiste à configurer un alias à votre commande REE gem.

I.e.

alias reegem='/opt/ruby-enterprise-1.8.6-20090201/bin/gem' 
0

En plus de symlink utile de Jack Chu ci-dessus, pourrais-je suggérer:

sudo ln -s/opt/ruby-entreprise/bin/rake/usr/bin/ree-râteau

afin que vous puissiez pierres précieuses sudo ree-râteau: installer

Questions connexes