2010-11-11 4 views
22

J'essaie d'installer des rails sur Ubuntu 10.04. Jusqu'à présent, je l'ai exécuté ces commandes:Erreur Installation des rails sur Ubuntu 10.04

apt-get install build-essential libapache2-mod-passenger apache2 rubygems ruby1.8-dev libopenssl-ruby 
gem install fastthread 
gem install rails 

Fastthread installé facilement. Cependant, en essayant d'installer des rails se traduit par:

ERROR: Error installing rails: 
    bundler requires RubyGems version >= 1.3.6 

Alors, j'ai essayé gem -v qui est retourné 1.3.5.

Comment mettre à niveau les rubygems? apt-get ne s'installera pas au-dessus de 1.3.5. Et gem update --system résultats dans:

ERROR: While executing gem ... (RuntimeError) 
    gem update --system is disabled on Debian. RubyGems can be updated using the official Debian repositories by aptitude or apt-get. 

Donc maintenant je ne peut tout simplement pas installer des rails, parce que je besoin d'une version plus récente de rubygems et ubuntu ne me laisse pas mettre à niveau ma version actuelle de rubygems.

En note, j'ai essayé les rails installés par apt-get install rails qui a semblé fonctionner, mais je ne vois pas rails comme gemme quand je tape gem list. Quel est le problème avec ça?

Une autre note: Le résultat de gem list est:

*** LOCAL GEMS *** 

abstract (1.0.0) 
actionmailer (3.0.1, 3.0.0) 
actionpack (3.0.1, 3.0.0) 
activemodel (3.0.1, 3.0.0) 
activerecord (3.0.1, 3.0.0) 
activeresource (3.0.1, 3.0.0) 
activesupport (3.0.1, 3.0.0) 
arel (2.0.1, 1.0.1) 
builder (2.1.2) 
erubis (2.6.6) 
fastthread (1.0.7) 
i18n (0.4.2) 
mail (2.2.9) 
mime-types (1.16) 
mysql (2.8.1) 
polyglot (0.3.1) 
rack (1.2.1) 
rack-mount (0.6.13) 
rack-test (0.5.6) 
railties (3.0.1, 3.0.0) 
rake (0.8.7) 
rubygems-update (1.3.7) 
thor (0.14.4) 
treetop (1.4.8) 
tzinfo (0.3.23) 

Je suppose l'installation de rails via apt-get installé ces pierres précieuses? Avant d'installer les rails via apt-get, je n'avais que mysql et fastthread.

+0

J'ai exactement le même problème. A-t-il jamais été résolu pour vous? – Genadinik

+0

La chose amusante est que j'ai toujours ce message après l'installation de rubygems 1.7.2 :) – Genadinik

Répondre

6

Vous devez installer manuellement rubygems 1.3.7 (wget depuis le site Web, extraire, exécuter setup.rb).

6

Installez rvm et prenez le contrôle de votre environnement de rubis.

http://rvm.io/

+1

Fábio a raison. Beaucoup de distributions Linux ont pris du retard et ne comprennent pas l'état actuel du monde Ruby. Il y a aussi des problèmes similaires avec Python. RVM résout ce problème (et vous gagnez de la flexibilité gratuitement!). Depuis que j'utilise RVM (et Bundler), je n'ai pas tendance à avoir des problèmes pour installer des gemmes sur Ubuntu ou Mac OS X. – Scott

1

Pour une raison quelconque, paquet Debian/Ubuntu Ruby ne comprend pas la bibliothèque RubyGems. Encore pire, RubyGems a été empaqueté dans Ruby 1.9.x mais si vous essayez de l'installer via apt-get, le gestionnaire de paquets vous forcera à les installer en deux paquets distincts. Comme vous l'avez remarqué, le paquet Debian/Ubuntu RubyGems est obsolète et, pour compliquer les choses, vous ne pouvez pas mettre à niveau la version packagée de RubyGems en installant simplement une nouvelle version de RubyGems car le système est corrigé pour éviter pour accomplir la tâche, comme vous l'avez expérimenté.

Ma suggestion est d'éviter d'utiliser la version chiffrée d'Ubuntu/Debian. Les alternatives sont:

  1. pour un système de développement, utilisez RVM
  2. pour un serveur de production, installer Ruby à partir de la source. Si vous voulez Ruby < 1.9, vous pouvez utiliser Ruby Enterprise édition qui est également disponible en paquet Debian/Ubuntu. Si vous voulez Ruby 1.9.x, compilez le depuis la source.
42

Il y a aussi un petit bijou disponible qui gère la mise à jour

sudo gem install rubygems-update 
sudo /var/lib/gems/1.8/bin/update_rubygems 
+0

a fonctionné comme un charme, merci! –

+4

Réponse parfaite. M'a beaucoup aidé. Dans mon cas, j'ai juste eu une autre version de gems donc je devais faire: sudo /var/lib/gems/1.9.1/bin/update_rubygems –

+1

CETTE réponse a été la sortie de l'Ubuntu/Ruby/Gem NIGHTMARE, merci! – mkoistinen

2

Cela peut être une nouvelle façon de le faire qui n'était pas disponible avant, mais je couru

sudo gem update --system 

et ça m'a donné la dernière version.

Questions connexes