9
votes

Rubygem "Liste d'arguments trop longue"

Mon problème est que pendant ou après avoir exécuté un processus qui utilise de manière intensive de rubis, lorsque j'utilise une commande de gemme, y compris une gemation de gemation ou une gemme d'installation de gemme, elle se bloque pendant une minute juste, puis me donne cette erreur:

#!/usr/bin/env bash

if [[ -s "/Users/username/.rvm/environments/ruby-1.8.7-p334" ]] ; then
  source "/Users/username/.rvm/environments/ruby-1.8.7-p334"
  exec gem "$@"                # this is line 5
else
  echo "ERROR: Missing RVM environment file: '/Users/username/.rvm/environments/ruby-    1.8.7-p334'" >&2
exit 1
fi

P> La seule façon dont j'ai trouvé pour obtenir Cela fonctionne à nouveau est de redémarrer mon ordinateur, qui est évidemment indésirable. J'utilise OSX 10.6.5 P>

J'ai passé tout en œuvre en essayant de trouver quelqu'un d'autre qui a eu ce problème et a échoué. Avez-vous une idée de la raison pour laquelle cela pourrait se produire? p> p>


0 commentaires

7 Réponses :


4
votes

On dirait que vous appelez votre script récursivement ...

vous pouvez

  1. renommer votre script

  2. Utilisez le chemin complet / usr / bin / gem pour faire référence à rubygems

    Editer: des points bonus et un cookie magique à qui que ce soit qui puisse me dire pourquoi son script est appelé récursivement. Juste fyi il ne faut pas se passer dans des circonstances normales;)


3 commentaires

Après plusieurs redémarrages et une période de temps en utilisant mon système Ruby et Rubygems (au lieu de diverses versions de RVM), je viens de rentrer et j'ai essayé de reproduire ce problème sur chaque rubis que j'ai installé, mais était incapable de. Je soupçonne que le problème initial est originaire de l'un des projets que j'ai travaillé au cours des derniers mois, mais après quelques expérimentations qui les utilisent, je ne suis pas incapable de comprendre qui. L'un d'eux était un script shell qui a exécuté plusieurs commandes, écrivait l'historique de Bash en soi et exécuté la logique sur le résultat. Les rubygems ont été impliqués. Pause non remplissable, tho.


Merci beaucoup de me donner une solution. Je vais le tester dès que je pourrai obtenir une réplication sur le problème.


On dirait que c'était une boucle dans .bash_brofile et .CASHRC causée par l'installation d'autres outils qui les automodifient.



37
votes

Ce problème est que vous définissez RVM pour utiliser --Default une version rubis inexistante.

Vous devez le spécifier exactement ou cela ne fonctionne pas correctement.


3 commentaires

Merci! Cela m'a aidé à trouver mon problème: je n'ai pas réellement installé de râteau;)


Cela m'a résolu pour moi sur OS X 10.8.3 Juste après avoir installé Ruby 2.0.0 ... après avoir exécuté "RVM --Default Use 2.0.0" La commande de paquet est renvoyée à la normale.


C'est le vrai problème / la réponse! Je reçois toutes sortes de contrats de soin de la finalité et je ne pouvais pas grouper nulle part. Très bonne réponse!



1
votes

J'ai résolu ce problème en installant railsInstaller


0 commentaires

2
votes

J'ai trouvé que c'était parce que les autorisations sur / usr / local / rvm / rubies / $ ruby_version / bin / gem autrement. Je les ai corrigés en exécutant:

sudo gpasswd -a YOUR_USERNAME rvm


0 commentaires

7
votes

résolu en appelant xxx

istead de xxx

tout fonctionne maintenant.


2 commentaires

Peut-être des configurations gâchées, je ne sais vraiment pas


Correction de mon problème aussi lorsque vous essayez d'installer JSDUCK GEM



0
votes

J'ai pu résoudre ce problème (lors de l'installation d'un joyau) à l'aide de xxx

dans votre cas, ce serait le suivant: xxx


0 commentaires

0
votes

Je reçois aussi cette erreur. Pour moi, c'est résolu en laissant le dossier du projet, puis revenez dans le dossier du projet après. Je ne sais pas pourquoi cela fonctionne, mais peut-être que cela fonctionnera aussi pour les autres.

cd ..

projet de CD


0 commentaires