Gemfile konnte nicht gefunden werden

137

Ich bin sicherlich kein Ruby-Entwickler, aber ich habe eine Anwendung auf meinem Server, die Ruby, Gems und Bundler verwendet. Ich versuche, einen anderen Ruby unter einem anderen Benutzerkonto, aber auf demselben VPS zu installieren. Wenn ich renne

bundle install

Ich erhalte folgende Fehlermeldung:

Gemfile konnte nicht gefunden werden

Ich könnte den Inhalt des Verzeichnisses ./bundle entfernen, damit alle Gems erneut abgerufen werden, um den Fehler zu beheben. Wird dies jedoch Auswirkungen auf meine andere Anwendung haben, die dieselben Gems und denselben Bundler verwendet? Ich möchte nicht riskieren, die andere App herunterzufahren.

Ian
quelle

Antworten:

162

Sie haben nicht Gemfilein einem Verzeichnis, in dem Sie diesen Befehl ausführen. Gemfileist eine Datei, die Ihre gemEinstellungen für ein aktuelles Programm enthält.

Joni
quelle
2
Vielen Dank. Es war etwas so Einfaches. Ich hatte nur ein Problem, weil ich als Administrator angemeldet sein musste, um den Befehl auszuführen, aber die Gem-Datei befand sich in einem Verzeichnis unter einem anderen Benutzer. Ich habe es geschafft, es zu sortieren. Vielen Dank!
Ian
1
Ja, Sie haben Recht. Wenn Sie diesen Befehl für die Installation von redmine verwenden, sollten Sie 'cd [redmine-directory]' ausführen und dann diesen Befehl ausführen.
Tim Wong
80

Stellen Sie sicher, dass Sie sich im Projektverzeichnis befinden, bevor Sie ausgeführt werden bundle install. Zum Beispiel rails new myprojectmöchten Sie nach dem Ausführen cd myprojectvor dem Ausführen bundle install.

bluesman333
quelle
Ja, das war in der Tat das Problem und ich habe es am Ende geschafft, es zu klären. Danke für Ihre Hilfe.
Ian
6

Ich hatte das gleiche Problem und habe es mithilfe eines anderen Verzeichnisses gelöst.

Bash-4.2 $ Bundle installieren
Gemfile konnte nicht gefunden werden
bash-4.2 $ pwd
/home/amit/redmine/redmine-2.2.2-0/apps/redmine
bash-4.2 $ cd htdocs /
Bash-4,2 $ ls
app config db extra Gemfile lib Plugins Rakefile script tmp
bin config.ru doc-Dateien Gemfile.lock log public README.rdoc Testanbieter
bash-4.2 $ cd plugins /
Bash-4.2 $ Bundle installieren
Rechen (0.9.2.2) 
Verwenden von i18n (0.6.0) 
Verwenden von multi_json (1.3.6) 
Aktivunterstützung verwenden (3.2.11) 
Builder verwenden (3.0.0) 
Verwenden des Aktivmodells (3.2.11) 
Verwenden von Erubis (2.7.0) 
Reise nutzen (1.0.4) 
Rack verwenden (1.4.1) 
Verwenden des Rack-Cache (1.2) 
Rack-Test verwenden (0.6.1) 
Verwenden der Wanderung (1.2.1) 
Verwenden der Neigung (1.3.3) 
Kettenräder verwenden (2.2.1) 
Actionpack verwenden (3.2.11) 
Verwenden von Pantomimen (1.19) 
Verwenden von Polyglot (0.3.3) 
Baumkrone benutzen (1.4.10) 
Mail verwenden (2.4.4) 
Actionmailer verwenden (3.2.11) 
Verwenden von arel (3.0.2) 
Verwendung von tzinfo (0.3.33) 
Aktivierungsaufzeichnung verwenden (3.2.11) 
Verwenden von activeresource (3.2.11) 
Verwenden von Coderay (1.0.6) 
Verwenden von Rack-SSL (1.3.2) 
Verwenden von json (1.7.5) 
Verwenden von rdoc (3.12) 
Verwenden von thor (0.15.4) 
Verwenden von Schienen (3.2.11) 
Verwenden von JQuery-Rails (2.0.3) 
Verwenden von mysql2 (0.3.11) 
Verwenden von net-ldap (0.3.1) 
Verwenden von Ruby-Openid (2.1.8) 
Verwenden von Rack-OpenID (1.3.1) 
Bundler verwenden (1.2.3) 
Schienen benutzen (3.2.11) 
Verwenden von rmagick (2.13.1) 
Dein Bundle i
Amit Gupta
quelle
3

Ich habe ein ähnliches Problem gelöst, indem ich mich aus dem Projektverzeichnis zurückgezogen, dann wieder in das Projektverzeichnis eingelegt und die Bundle-Installation durchgeführt habe.

Dennis Keefe
quelle
1

Hier ist etwas, das Sie versuchen könnten.

Fügen Sie dies zu allen Konfigurationsdateien hinzu, die Sie zum Ausführen Ihrer App verwenden.

ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
require 'bundler/setup' # Set up gems listed in the Gemfile.
Bundler.require(:default)

Rails und andere Rack-basierte Apps verwenden dieses Schema. Es kommt manchmal vor, dass Sie versuchen, Dinge auszuführen, die einige Verzeichnisse tiefer liegen als Ihr Stammverzeichnis, in dem sich Ihre Gemfile normalerweise befindet. Natürlich haben Sie dieses Problem vorerst gelöst, aber gelegentlich haben wir alle Probleme damit, die Gemfile zu finden. Ich mag es manchmal, wenn Sie alle Ihre Edelsteine ​​auch im .bundle-Verzeichnis haben können. Es tut nie weh, diese Site-Adresse unter Ihrem Kissen zu behalten. http://bundler.io/

Douglas G. Allen
quelle
0

Ist sehr einfach. Wenn "Gemfile konnte nicht gefunden werden" angezeigt wird, bedeutet dies, dass in dem Ordner, in dem Sie sich gerade befinden, oder in einem Verzeichnis, in dem Sie sich befinden, keine Datei mit dem Namen GemFile vorhanden ist. Geben Sie daher in Ihrer Eingabeaufforderung einen expliziten oder vollständigen Pfad des dortigen Ordners an, in dem der Dateiname "Gemfile" z. B. cd C: \ Users \ Administrator \ Desktop \ RubyProject \ demo lautet.

Es wird definitiv in einer Minute gelöst sein.

Titus H.
quelle