2013-07-08 10 views
26

Ich habe vor einiger Zeit ein Rails-Modell "Modell" erstellt und jetzt versuche ich den Server zu betreiben. Nach einem bundle install erhalte ich:Gemfile.lock Schreibfehler, Berechtigungen?

Es gab einen Fehler beim Versuch, in Gemfile.lock zu schreiben. Es ist wahrscheinlich, dass Sie Schreibrechte für die Datei auf Pfad ermöglichen müssen: /home/thiago/model/Gemfile.lock

rails s versucht, um zu sehen, was passiert, und:

 
/home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler/definition.rb:235:in `rescue in lock': There was an error while trying to write to Gemfile.lock. It is likely that (Bundler::InstallError) 
you need to allow write permissions for the file at path: 
/home/thiago/model/Gemfile.lock 
    from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler/definition.rb:220:in `lock' 
    from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler/environment.rb:34:in `lock' 
    from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler/runtime.rb:43:in `setup' 
    from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler.rb:120:in `setup' 
    from /home/thiago/.rvm/gems/[email protected]/gems/rubygems-bundler-1.1.1/lib/rubygems-bundler/noexec.rb:79:in `setup' 
    from /home/thiago/.rvm/gems/[email protected]/gems/rubygems-bundler-1.1.1/lib/rubygems-bundler/noexec.rb:91:in `' 
    from /home/thiago/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:110:in `require' 
    from /home/thiago/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:110:in `rescue in require' 
    from /home/thiago/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:35:in `require' 
    from /home/thiago/.rvm/gems/ruby-1.9.3-p429/bin/ruby_noexec_wrapper:9:in `' 

Kann ich die Berechtigungen für das Gemfile.lock so eingestellt, dass ich kann Server bündeln und ausführen?

 
$ ls -a -l 
total 80 
drwxr-xr-x. 13 root root 4096 May 19 14:08 . 
drwx------. 41 thiago thiago 4096 Jul 7 23:51 .. 
drwxr-xr-x. 8 root root 4096 May 19 14:08 app 
drwxr-xr-x. 5 root root 4096 May 19 14:08 config 
-rw-r--r--. 1 root root 155 May 19 14:08 config.ru 
drwxr-xr-x. 2 root root 4096 May 19 14:08 db 
drwxr-xr-x. 2 root root 4096 May 19 14:08 doc 
-rw-r--r--. 1 root root 765 May 19 14:08 Gemfile 
-rw-r--r--. 1 root root 430 May 19 14:08 .gitignore 
drwxr-xr-x. 4 root root 4096 May 19 14:08 lib 
drwxr-xr-x. 2 root root 4096 May 19 14:08 log 
drwxr-xr-x. 2 root root 4096 May 19 14:08 public 
-rw-r--r--. 1 root root 270 May 19 14:08 Rakefile 
-rw-r--r--. 1 root root 9208 May 19 14:08 README.rdoc 
drwxr-xr-x. 2 root root 4096 May 19 14:08 script 
drwxr-xr-x. 7 root root 4096 May 19 14:08 test 
drwxr-xr-x. 3 root root 4096 May 19 14:08 tmp 
drwxr-xr-x. 4 root root 4096 May 19 14:08 vendor 

Modelldateien wurden falsch erstellt?

+0

Nun, was sind die aktuellen Berechtigungen für die betreffende Datei? –

+1

Es sieht so aus, als hättest du die App als root erstellt. chown alle Dateien für sich selbst und Sie sollten in Ordnung sein –

Antwort

57

Ihr App-Stammverzeichnis (dessen Berechtigungen die Dateierstellung steuern) und Dateien sind alle im Besitz von root und nicht von Ihrem Benutzer (möglicherweise weil Sie sudo rails new - verwenden Sie sudo dafür nicht verwendet haben). Sie können die Berechtigungen ändern, indem Sie tun:

sudo chown -R $(whoami):$(whoami) myappfolder 

Wo "myappfolder" ist das Stammverzeichnis Ihrer Rails-App.

Übrigens, ein guter Tipp in Bezug auf sudo ist immer den Befehl ohne es zuerst zu versuchen, dann, wenn es einen Berechtigungsfehler bei der Ausführung gibt, benötigen Sie möglicherweise sudo. Verwenden Sie nicht standardmäßig sudo.

Verwandte Themen