J'essaie de lancer une console heroku qui utilise rubygems mais je continue à avoir cette erreur:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/Ruby/1.8/rubygems.rb:471:in `expand_path': No such file or directory - getcwd (Errno::ENOENT)
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/Ruby/1.8/rubygems.rb:471:in `find_files'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/Ruby/1.8/rubygems.rb:470:in `map'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/Ruby/1.8/rubygems.rb:470:in `find_files'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/Ruby/1.8/rubygems.rb:1103
from /usr/bin/heroku:9:in `require'
from /usr/bin/heroku:9
J'utilise Mac OS Lion 10.7.3. Des idées pour résoudre le problème? Merci!
J'ai eu le même problème ... en cours d'exécution Sudo gem update --system
corrigé le problème ... essayez-le.
Peut-être que le répertoire de travail actuel du shell utilisé pour démarrer votre processus heroku n'existe pas (peut-être supprimé par un autre processus, comme dans mon cas) et donc getcwd renvoie une erreur.
Cela m'est arrivé Il est apparu que j'avais effacé le dossier dans lequel j'exécutais la commande.
J'ai eu la même chose, il suffit de taper cd
dans le terminal, puis revenir à l'endroit où vous étiez et cela fonctionne.
Problème similaire lors de la configuration locale de l'application Rails.
Le problème était que le serveur fonctionnait dans un répertoire que j'avais supprimé d'une autre fenêtre de terminal pour recréer l'application.
Fermez le terminal et recommencez ou allez dans un autre répertoire et revenez le faire ...
Quelque chose devrait marcher..Il l'a fait pour moi.
Cela ne semble pas être un problème Heroku car quelque chose dans votre code requiert cette getcwd
.
Que se passe-t-il si vous exécutez cette application localement en mode de production? Avez-vous défini toutes vos dépendances pour Heroku (soit via un fichier .gems ou Bundler )
J'ai essayé de démarrer le serveur Rails dans un autre onglet de la console.
cd .
l'a résolu pour moi
J'en rencontre un même, c'est arrivé quand le répertoire de travail a été supprimé.
J'ai résolu ce problème en fermant et en redémarrant mon terminal, en définissant la version correcte de Ruby dans le nouveau terminal sur
$ rvm use 2.1.1
(ou quelle que soit la version de Ruby pertinente pour votre programme)
Cela m'est arrivé alors que je courais une application Sinatra sur mon hôte local et voici ce que j'ai trouvé.
Scénario: J'utilise Git comme contrôle de version et j'ai changé de branche de développement en maître pour fusionner mes branches. Après la fusion, avec un serveur actif en marche, j'ai effectué une modification mineure du code HTML qui n'aurait pas dû faire exploser l'application. Lorsque je suis allé vérifier le changement de mon navigateur, ma "demande" est revenue avec l'erreur de l'OP. L'application n'est pas déployée sur Heroku.
Mon hypothèse: Je ne connais pas les subtilités de Webbrick (ou de programmes équivalents) mais je suppose que vous aviez un serveur actif (comme moi) en train de rechercher des fichiers spécifiques en mémoire et lorsqu’ils ont été modifiés lors d’un éventuel changement de branche ou lorsqu’un fichier important a été modifié/supprimé - Webbrick a paniqué et n’a pas su où le/les trouver et a généré cette erreur.
Je ne suis pas sûr du contrôle de version que vous utilisez, mais je sais que git est populaire pour heroku, je pense donc que cela pourrait avoir un lien avec votre problème.
Résoudre le problème pour moi-même était aussi simple que de redémarrer le serveur. J'espère que cela aidera les futurs dépanneurs.
Redémarrer le système a résolu ce problème dans mon cas
comme expliqué par gerardk vous pouvez essayer ceci avant de relancer la console heroku
$ pwd #ie: /mywork
$ cd ..
$ cd [pwd] #ie: cd mywork
maintenant, relancez la console heroku