ruby - permission - Konnte Gemfile nicht finden



gem install bundler permission denied (4)

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

bundle install

Ich erhalte den folgenden Fehler:

Konnte Gemfile nicht finden

Ich könnte den Inhalt des Verzeichnisses ./bundle entfernen, so dass alle Edelsteine ​​neu abgerufen werden, um den Fehler zu beheben, aber wird dies Auswirkungen auf meine andere Anwendung haben, die dieselben Edelsteine ​​und Bündler verwendet? Ich möchte nicht riskieren, die andere App herunterzunehmen.

https://src-bin.com


Answer #1

Hier ist etwas, was du ausprobieren könntest.

Fügen Sie dies zu beliebigen 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 passiert manchmal, dass Sie versuchen, Dinge auszuführen, bei denen es sich um Verzeichnisse handelt, die tiefer sind als Ihr Stammverzeichnis, in dem sich Ihre Gemfile normalerweise befindet. Natürlich hast du dieses Problem vorerst gelöst, aber gelegentlich geraten wir alle in Schwierigkeiten, wenn wir das Gemfile finden. Ich mag manchmal, wenn du alle Edelsteine ​​auch im .bundle-Verzeichnis haben kannst. Es tut nie weh, diese Adresse unter dem Kopfkissen zu behalten. http://bundler.io/


Answer #2

Ich habe ein ähnliches Problem gelöst, indem ich einfach aus dem Projektverzeichnis zurückwechsle, dann wieder in das Projektverzeichnis zurückkehre und die Installation installiere.


Answer #3

Ist sehr einfach. Wenn "Gemfile nicht gefunden" 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 namens GemFile vorhanden ist. Geben Sie daher in Ihrer Eingabeaufforderung einen expliziten oder vollständigen Pfad des dortigen Ordners ein, in dem der Dateiname "Gemfile" zB cd C: \ Benutzer \ Administrator \ Desktop \ RubyProject \ demo lautet.

Es wird definitiv in einer Minute gelöst werden.


Answer #4

Sie haben Gemfile in einem Verzeichnis, in dem Sie diesen Befehl ausführen. Gemfile ist eine Datei mit Ihren gem für ein aktuelles Programm.





bundler