12
votes

Ne peut pas mettre à jour les rubygems

J'ai des difficultés à mettre à jour des rubygems de la version 1.1.1 au plus récent. J'ai essayé ce qui suit:

Mise à jour GEM

résultat:

Mise à jour des gemmes installées
Mise à jour en vrac Index Source GEM pour: http://gems.rubyforge.org/
Rien à mettre à jour

et

GEM Installez des rubygems-update

résultat:

Mise à jour en vrac Index Source GEM pour: http://gems.rubyforge.org/
Mise à jour en vrac Index Source GEM pour: http://gems.rubyforge.org/
ERREUR: Erreur lors de l'installation de RubyGems-Update:

RubyGems-Mise à jour nécessite le constructeur (> = 0)

et

GEM Installer des rubygems-update update_rubygems

résultat:

Mise à jour en vrac Index Source GEM pour: http://gems.rubyforge.org/
Mise à jour en vrac Index Source GEM pour: http://gems.rubyforge.org/
ERREUR: Erreur lors de l'installation de RubyGems-Update:

Rubygems-Mise à jour nécessite le constructeur (> = 0) de
ERREUR: Impossible de trouver Update_Rubygems localement ou dans un référentiel

Puis j'ai vérifié, comme suggéré par theiv sur une question similaire, si j'avais http: //gems.rubyforge.org/ dans mes sources distantes. Voici l'environnement GEMS:

Rubygems Environnement:
- Version Rubygems: 1.1.1
- Version Ruby: 1.8.6 (2008-08-11 Patchlevel 287) [Universal-Darwin9.0]
- Répertoire d'installation: /Library/Ruby/gems/1.8
- Exécutable Ruby: /System/Library/frameworks/Ruby.framework/Versions/1.8/usr/bin/Ruby
- Plateformes Rubygems:
- Ruby
- Universal-Darwin-9
- Chemins de gemmes:

- /library/Ruby/gems/1.8
- /system/library/frameworks/ruby.framework/versions/1.8/usr/lib/Ruby/gems/1.8
- Configuration GEM:
-: update_sources => vrai
-: verbose => vrai
-: Benchmark => faux
-: Backtrace => Faux
-: Bulk_threshold => 1000
- Sources à distance:
- http://gems.rubyforge.org

Alors, oui, des idées?


0 commentaires

8 Réponses :


-2
votes

Re-reconstruisez-le des sources.


0 commentaires

1
votes

Tout de la chance avec GEM Install Cuilder ? Cela semble être ce dont vous avez besoin pour obtenir des rubygems-mettre à jour pour installer.


1 commentaires

Essayé cela, résultat: Erreur: Impossible de trouver le constructeur localement ou dans un référentiel



7
votes

oi - je ressens ta douleur. Je vais d'abord demander à l'évidence; Avez-vous exécuté les commandes avec sudo? Donc, vous utiliserez sudo gem installer rubygems-update et sudo update_rubygems .

Si cela ne fonctionne pas, téléchargez plus de gemmes source et reconstruisez à partir de zéro (peut vouloir effacer le téléchargement de la source préalable, etc.). Vous voudrez peut-être lire Article hurlogique sur l'installation de Ruby, Rubygems, etc. sur Mac OS Snow Leopard .

Si cela ne fonctionne pas ... :) Je pourrais faire le ruby ​​drastique et reconstruire aussi.


2 commentaires

Merci mec :) Yup, j'ai couru toutes les commandes avec sudo. Je vais lire l'article que vous parlez de ... finira probablement à reconstruire tout cela éventuellement.


Heureux de l'entendre - bonne chance avec la reconstruction. Depuis c'est le cas ... Voulez-vous marquer ma réponse comme une réponse s'il vous plaît?



1
votes

J'ai rencontré un problème similaire et j'ai pu améliorer ce faisant cela: Mise à jour sudo GEM --System


1 commentaires

Cela a fonctionné pour moi pour mettre à jour des rubygems 1.3.5 sur OS X 10.6.x et semble plus simple que les autres suggestions plus compliquées.



1
votes

Le problème semble être détecté et signalé comme un cycle de dépendance: certaines dépendances nouvelles-version sont nécessaires pour installer la version nouvelle-gemmes ... Oui, c'est un gâchis.La solution recommandée que je ' J'ai vu, c'est de faire la mise à niveau d'une version intermédiaire étape par étape, afin de rendre la transition de mise à niveau lisse, avec de petites lacunes. Lisez-le dans cet article, ce qui l'explique très bien: Texte de liaison

Après l'avoir lu et j'essayais plusieurs fois, j'ai vu que c'était toujours très flou / compliqué.

Alors je suis allé pour une autre solution, qui s'installe plus de Necesary, mais est plus limphaforward:

  • Installez une version plus récente de Ruby + IRB + RDOC + GEM (côte à côte avec une version ancienne déjà existante)

  • Installez maintenant le gem "Ruby Version Manager" (une douleur sans douleur à Debian / Ubuntu, il peut compiler la dernière version rubis) Texte de liaison

  • Utilisez RVM pour installer la version finale et la dernière version de rubis (à nouveau côte à côte) et maintenez-la mise à jour.

  • (vous pouvez maintenant utiliser RVM pour désinstaller les anciennes versions de Ruby / Gems de votre système et conservez uniquement la dernière version Ruby)

    Si vous en avez besoin pour un système de production, RVM est déjà considéré comme suffisamment mature pour maintenir des rubis / gemmes mis à jour avec des versions plus récentes.

    J'espère que cela aide un démarreur comme moi pour "obtenir des tables hors du chemin"


0 commentaires

10
votes

Il n'est pas nécessaire de prendre des mesures aussi drastiques telles que la reconstruction de Ruby, réinstallant des rubygems de zéro ou d'installer un gestionnaire de version pour résoudre ce problème. Il y a simplement un cycle de dépendance introduit par la libération de HOE 2.3.0:

Rubygems-update 1.3.5 nécessite (entre autres) HOE-SEATTERB
Hoe-Seatlerb nécessite une houe> = 2.3.0
HOE> = 2.3.0 nécessite des rubygems> = 1.3.1

J'ai écrit Le poteau de blog liée à zipizap. Pour récapituler:

  1. Si vous avez déjà essayé de mettre à jour, désinstallez la dernière mise à jour des derniers rubygems-update: Sudo GEM Désinstallation RubyGems-Update -V 1.3.5
  2. Mise à jour vers 1.3.0: Sudo Gem Installez RubyGems-Update -V 1.3.0
  3. sudo update_rubygems
  4. Mettez ensuite à jour vers la dernière: Sudo GEM Update --System

    Avec la libération de rubygems 1.3.6, on dirait que ce problème peut être parti. À partir des notes de version:

    • Les députés de développement ne sont plus ajoutés à des rubygems-update jet de gemn Les versions peuvent mettre à jour successivement.

2 commentaires

En effet, je crois que je viens de réussir avec une mise à jour (sous Ruby 1.8.7) à l'aide de GEM Installez des rubygems-update (il a indiqué 1.5.0), suivi de la mise à jour GEM --System qui m'a également atterri à 1.5.0. Cela a dû suivre cela avec un Mise à jour GEM à son tour pour que Bundler fonctionne à nouveau.


Enfin, après quelques jours de recherche, je reviens sur le site que j'aime et que j'aime, il existe une solution qui résout enfin mon problème avec la désactivation de Debian Jet Update GEM --System problème! Merci beaucoup.




0
votes

Remarque: les rubygems 1.1 et 1.2 ont des problèmes de mise à niveau lorsqu'il n'y a pas de rubygems-mise à jour installée. Vous devrez utiliser les instructions suivantes si vous ne voyez rien à mettre à jour. Si vous avez une version plus ancienne des Rubygems installée, vous pouvez toujours le faire en deux étapes:

$ gem install rubygems-update  # again, might need to be admin/root
$ update_rubygems              # ... here too


0 commentaires