2010-10-16 1 views
0

Je voulais savoir pourquoi je ne pouvais pas configurer Heroku Gem et suivre cette réponse SO 2396004 (Heroku Gem Doesn't Work). Je pense que j'ai peut-être bousillé mon système.-bash est fauché?

Maintenant, je suis en train de taper la liste des Heroku et je reçois (-bash: Heroku: command not found) et quand je tape ruby ​​-v je reçois (-bash: ruby: command not found)

CI-DESSOUS EST lA SORTIE lA PLUS RÉCENTE

zak$ export PATH=$PATHEXECUTABLE DIRECTORY: /Users/zak/.rvm/gems/[email protected]/bin 
-bash: export: `DIRECTORY:': not a valid identifier 
-bash: export: `/Users/zak/.rvm/gems/[email protected]/bin': not a valid identifier 

ZKidds-MacBook-Pro:rails_projects zak$ export PATH=$PATH:/Users/zak/.rvm/gems/[email protected]/bin 

ZKidds-MacBook-Pro:rails_projects zak$ heroku list 
-bash: heroku: command not found 

ZKidds-MacBook-Pro:rails_projects zak$ cd .. 

ZKidds-MacBook-Pro:~ zak$ export PATH=$PATH:/Users/zak/.rvm/gems/[email protected]/bin 

ZKidds-MacBook-Pro:~ zak$ heroku list 
-bash: heroku: command not found 

ZKidds-MacBook-Pro:~ zak$ echo $PATH 
:/Users/zak/.rvm/gems/[email protected]/bin:/Users/zak/.rvm/gems/[email protected]/bin 
-bash: GEM: command not found 

ZKidds-MacBook-Pro:~ zak$ gem env 
-bash: gem: command not found 

ZKidds-MacBook-Pro:~ zak$ heroko list 
-bash: heroko: command not found 
+0

Démarrez un nouveau shell et n'exécutez pas cette première commande - cela détruit votre variable d'environnement 'PATH'. –

Répondre

1

Lorsque vous définissez PATH juste une valeur, vous avez perdu tous les autres lieux de recherche, comme /bin et /usr/bin. Réglez votre PATH de manière incrémentielle:

export PATH=/new/place/bin:$PATH 

Vous pouvez être plus élaboré que cela, mais cette technique de base fonctionne.

Pendant ce temps, déconnectez-vous et connectez-vous à nouveau - cela vous permettra de passer plus facilement. Autre possibilité:

export PATH=$PATH:/bin:/usr/bin 

De plus, la première ligne a été:

export PATH=$PATHEXECUTABLE DIRECTORY: /Users/zak/.rvm/gems/[email protected]/bin 

Lorsque vous exécutez export, il exportera une ou plusieurs variables, mais les valeurs doivent être soit simples noms de variables, ou doit être des affectations variables:

export SOMEVAR NOTHERVAR=new-value ... 

La plainte -bash: export: DIRECTO RY: ': non un identifiant valide` vous indique que' DIRECTORY: 'n'est pas valide. Ce n'est pas clair ce que vous aviez en tête. Et vous avez une plainte similaire à propos de/Users/zak/... n'étant pas un identifiant.

Vous pouvez définir une variable d'environnement pour une seule course d'une commande:

PATH=$EXECUTABLE_DIRECTORY:$PATH /Users/zak/bin/command 

L'environnement de la commande comprendra la valeur de PATH donnée; Notez, cependant, que le shell ne recherchera pas la commande avec ce chemin modifié.


... Ce que je voulais faire était ...

Je ne suis pas un utilisateur de l'un ou Ruby Rails, mais sur mon Mac (10.6.4), Je trouve:

Osiris-2 JL: ruby -v 
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0] 
Osiris-2 JL: rails -v 
Rails 2.3.5 
Osiris-2 JL: which ruby rails 
/usr/bin/ruby 
/usr/bin/rails 
Osiris-2 JL: 

Ainsi, sur ma machine, à la fois Ruby et Rails sont en /usr/bin. Je n'ai pas installé Heroku AFAIK (pas sur mon PATH, de toute façon). Votre première exportation a bousillé PATH; le second a ajouté votre répertoire Ruby 1.9.2 au PATH vide. Apparemment, Heroku est installé ailleurs ou n'est pas encore installé. Vous avez changé de répertoire - une opération intégrée qui ne nécessite pas de PATH fonctionnel; vous avez à nouveau ajouté le répertoire Ruby 1.9.2 à votre PATH (ce qui n'a rien changé utilement). Heroku n'est toujours pas trouvé. Vous avez fait écho à PATH (un autre intégré) - je ne sais pas d'où vient le message GEM: command not found. Et les commandes gem et heroko (sic) n'ont pas été trouvées. Donc, votre première commande a mis en train les problèmes.

Ensuite, vous avez dit:

En termes de ce que je voulais faire, je viens d'essayer de mettre en place mon compte Heroku et est resté coincé quand j'ai essayé d'ajouter ma clé ssh publique. La gemme heroko que j'avais installée (pensée) ne s'enregistrait pas. C'est quand j'ai lu la question de stackoverflow référencée ci-dessus qui a suggéré que mon chemin était incorrect. J'ai fermé le terminal et rouvert. Exécuter des choses comme les sorties de ruby ​​-v, mais les rails en cours d'exécution -v ne fonctionne pas. Y a-t-il encore quelque chose à faire? Pourquoi les rails ne produiraient-ils pas?

Plus précisément sur les rails -v je reçois « /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:827:in report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:261:in activate » de/System/Library /Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:68:in `petit bijou » dans/usr/bin/rails: 18 "

Cela suggère que vous avez rails installés dans/usr/bin (comme je le fais), mais l'installation a été modifiée d'une manière ou d'une autre, donc elle est incohérente. Soit cela ou l'environnement fautif (PATH) cause des problèmes. Mais généralement, le logiciel peut trouver ses propres bits'n'pieces, donc il suggère qu'il y a quelque chose en place. Une partie du problème peut être que vous utilisez un programme Ruby 1.9.2 avec un logiciel Ruby 1.8.

Ma politique personnelle est de laisser le logiciel fourni par o/s strictement seul; Je laisse les mises à jour Mac prendre soin de cela. Si je veux ma propre version de quelque chose, je la construis et l'installe sous mon contrôle - je le fais avec Perl, parfois avec GCC, et avec Git ou SVN ou Mercurial ou un autre logiciel.

Je m'assurerais que l'environnement Ruby 1.9.2 fonctionne correctement et je me demande si vous devez mettre à jour votre environnement Rails en parallèle. Je pense que l'utilisation de Ruby 1.9.2 avec Rails construit pour Ruby 1.8.x cause certains problèmes - mais je n'en suis pas certain.

+0

Jonathan-merci pour l'information. En ce qui concerne ce que j'essayais de faire, j'essayais juste d'installer mon compte heroku et je me suis coincé quand j'ai essayé d'ajouter ma clé publique ssh. La gemme heroko que j'avais installée (pensée) ne s'enregistrait pas. C'est quand j'ai lu la question de stackoverflow référencée ci-dessus qui a suggéré que mon chemin était incorrect. J'ai fermé le terminal et rouvert. Exécuter des choses comme les sorties de ruby ​​-v, mais les rails en cours d'exécution -v ne fonctionne pas. Y a-t-il encore quelque chose à faire? Pourquoi les rails ne produiraient-ils pas? – zkidd

+0

spécifiquement sur les rails -v je reçois "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:827:in 'report_activate_error': Impossible de trouver les rails RubyGem (> = 0) (Gem :: LoadError) \t from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:261:in 'activate ' \t from/System /Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:68:in 'gem ' \t from/usr/bin/rails: 18 " – zkidd

0

Le fait que je pense que vous vous méprenez sur le document que vous lisez. Lorsque vous lisez "$ PATHEXECUTABLE DIRECTORY", vous devez substituer le chemin réel de ce que vous voulez ajouter. Pour le faire correctement, suivez ce qu'a dit Jonathan Leffler.