web-dev-qa-db-de.com

"Keine solche Datei oder Verzeichnis - getcwd" Fehler bei Rubygems unter Mac Os Lion

Ich versuche, eine heroku-Konsole zu starten, die Rubygems verwendet. Ich erhalte jedoch diese Fehlermeldung:

/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

Ich verwende Mac OS Lion 10.7.3. Irgendwelche Ideen, wie man das beheben kann? Vielen Dank!

43

Ich hatte das gleiche Problem .... Laufen Sudo gem update --system behebte das Problem ... probieren Sie es aus.

34
Israfil Havilah

Möglicherweise ist das aktuelle Arbeitsverzeichnis der Shell, mit dem der Heroku-Prozess gestartet wird, nicht vorhanden (möglicherweise von einem anderen Prozess wie in meinem Fall entfernt), und daher gibt getcwd einen Fehler aus.

145
gerardk

Das ist mir passiert. Es stellte sich heraus, dass ich den Ordner gelöscht hatte, in dem der Befehl ausgeführt wurde.

37
kilojoules

Ich hatte das gleiche, tippe einfach cd in das Terminal ein und navigiere dann zurück zu dem Ort, an dem du warst.

18
Mirror318

Bei der lokalen Einrichtung der Rails-App gab es ein ähnliches Problem.

Das Problem war, dass der Server in einem Verzeichnis lief, das ich aus einem anderen Terminalfenster entfernt hatte, um die App neu zu erstellen.

Schließen Sie das Terminal und machen Sie es erneut oder gehen Sie in ein anderes Verzeichnis und kommen Sie zurück und machen Sie es ...

Alles sollte funktionieren. Es hat für mich getan.

8
Vishnu Narang

Dies scheint kein Heroku-Problem zu sein, da etwas in Ihrem Code diese getcwd erfordert.

Was passiert, wenn Sie diese Anwendung lokal im Produktionsmodus ausführen? Haben Sie alle Ihre Abhängigkeiten für Heroku definiert (entweder über eine .gems-Datei oder Bundler )

2
Neil Middleton

Es wurde versucht, den Rails-Server auf einer anderen Registerkarte der Konsole zu starten. 

cd . hat es für mich gelöst

2
Christian

Ich stoße auf dasselbe, es geschah, wenn das Arbeitsverzeichnis tatsächlich entfernt wurde.

1
David Zhang

Ich habe dieses Problem gelöst, indem ich mein Terminal geschlossen und neu gestartet habe, um die korrekte Ruby-Version im neuen Terminal auf festzulegen

$ rvm use 2.1.1

(oder welche Ruby-Version für Ihr Programm relevant ist)

0
La-comadreja

Dies ist mir gerade passiert, als ich auf meinem localhost eine Sinatra-App ausgeführt habe.

Szenario: Ich verwende Git als Versionskontrolle und wechselte von Entwicklung zu Master, um meine Zweige zusammenzuführen. Nach der Zusammenführung mit einem aktiven Server habe ich eine kleine HTML-Änderung vorgenommen, die die App nicht hätte sprengen sollen, und als ich die Änderung in meinem Browser überprüfte, kam meine "Anfrage" mit einem OP-Fehler zurück App wird nicht für Heroku bereitgestellt.

Meine Vermutung: Ich bin nicht mit den Feinheiten von Webbrick (oder gleichwertigen Programmen) vertraut, aber ich schätze, Sie hatten einen aktiven Server (wie ich), der nach bestimmten Dateien im Arbeitsspeicher suchte Wenn sie bei einem möglichen Zweigwechsel geändert wurden oder eine wichtige Datei geändert/gelöscht wurde - flippte Webbrick aus und wusste nicht, wo er sie finden sollte, und warf diesen Fehler auf. 

Ich bin nicht sicher, welche Versionskontrolle Sie verwenden, aber ich weiß, dass git für heroku beliebt ist. Ich denke, das hat etwas mit Ihrem Problem zu tun.

Um das Problem für mich zu beheben, musste der Server neu gestartet werden. Ich hoffe, dies hilft zukünftigen Trouble Shootern.

0
MTen

Systemneustart hat dieses Problem in meinem Fall behoben

0
Maciej.O

Ich habe diesen Fehler umgangen, indem ich den Server heruntergefahren, mein Terminal neu gestartet und dann den Server neu gestartet habe.

0
ianrandmckenzie

Sudo gem update --system (wie Israfil Havilah erwähnt) und ein Neustart des Servers (Ubuntu 16.04.6 LTS) haben mir geholfen

0
Pavel Babin

wie von gerardk erklärt Sie könnten dies versuchen, bevor Sie die Heroku-Konsole starten

$ pwd #ie: /mywork
$ cd ..
$ cd [pwd] #ie: cd mywork

jetzt geh zurück heroku Konsole

0
Aizzat Suhardi