2016-11-23 2 views
1

Ich verfolge diesen guide, Rubin zu installieren, während alles kein Problem, außer wenn ich versuche, diesen BefehlErteilen der Berechtigung für den Pfad

Schienen neue myapp -d mysql

, in dem ich zu laufen habe diesen Fehler

run bundle install 
There was an error while trying to write to 
`/home/fil/.bundle/cache/compact_index/rubygems.org.443.29b0360b937aa4d161703e6160654e47`. It is likely that you need to 
grant write permissions for that path. 
     run bundle exec spring binstub --all 
bundler: command not found: spring 
Install missing gem executables with `bundle install` 

Gibt es eine Möglichkeit, dies zu lösen?

+0

Sind Sie auf Linux oder Windows10? – whodini9

+0

versuchen sudo Bündel installieren –

+0

Linux als Subsystem von Windows 10 – Fil

Antwort

3

Es sieht so aus, als ob Sie bundle install als root an einem bestimmten Punkt ausgeführt haben (über), was Sie nie tun sollten. Sie können sudo es wieder über dieses Problem zu bekommen, wie @GurmukhSingh vorschlägt, aber das wird nur das Problem zusammensetzen und ist keine gute Idee aus Sicherheitsgründen.

Wenn Sie Dateien in Ihrem Bündler Cache finden möchten, die nicht von fil Besitz (vorausgesetzt, Ihr Benutzername ist fil), können Sie dies ausführen:

find ~/.bundle/cache ! -user fil -ls 

Wenn das alles überhaupt gibt, dann ist die Problem ist wahrscheinlich, dass diese Dateien im Besitz von root (oder einem anderen Benutzer) sind, und das ist das Problem; Die -ls Flagge zu find zeigt Ihnen, wem sie gehört.

Sie können die beanstandeten Dateien löschen und bundle install erneut ausführen, oder Sie können das Eigentum an ihnen ändern:

chown -R fil ~/.bundle/cache 

Sie müssen möglicherweise in ~/.bundle auf alle Dateien überprüfen und nicht nur die cache Richt.

In Zukunft nicht bundle install über sudo ausführen.

+0

Es gibt diesen Fund zurück: '' /home/fil/.bundle/cache ': Keine solche Datei oder Verzeichnis' – Fil

+0

Vielleicht hast du 'sudo Bundle' das erste Mal Sie benutzt es und '~/.bundle' gehört root. Wenn 'ls -l ~/.bundle 'anzeigt, dass es root gehört, dann mach' chmod -R fil ~/.bundle'. Wenn Sie nicht einmal ein ".bundle" -Verzeichnis haben, dann haben Sie größere Probleme, vielleicht haben Sie Ihr Home-Verzeichnis nicht. –

+0

Ich versuche es auch, weil es keinen Cache gibt und das war das Ergebnis 'chown -R fil ~/.bundle chown: Besitzwechsel von '/home/fil/.bundle': Operation nicht erlaubt' – Fil

Verwandte Themen