2013-07-08 18 views
26

Stworzyłem model "modelu" Railsów jakiś czas temu, a teraz próbuję uruchomić serwer. Po bundle install otrzymuję:Błąd zapisu Gemfile.lock, uprawnienia?

Wystąpił błąd podczas próby zapisu na Gemfile.lock. Jest prawdopodobne, że trzeba pozwolić uprawnienia do zapisu do pliku w ścieżce: /home/thiago/model/Gemfile.lock

Próbowaliśmy rails s aby zobaczyć, co się dzieje, i:

 
/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 `' 

można ustawić uprawnienia dla Gemfile.lock więc czy można łączyć i uruchamiać serwer?

 
$ 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 

Niepoprawnie utworzone pliki modeli?

+0

Cóż, jakie są aktualne uprawnienia do danego pliku? –

+1

Wygląda na to, że utworzyłeś aplikację jako root. chown wszystkie pliki do siebie i powinieneś być w porządku –

Odpowiedz

57

Katalog główny Twojej aplikacji (którego uprawnienia rządzą tworzeniem plików) i pliki są własnością root'a, a nie użytkownika (prawdopodobnie dlatego, że zrobiłeś sudo rails new - nie używaj do tego celu numeru sudo). Możesz zmienić te uprawnienia, wykonując:

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

Gdzie "myappfolder" jest katalogiem głównym Twojej aplikacji Rails.

Nawiasem mówiąc, dobrym wskazówka w odniesieniu do sudo jest zawsze wypróbowanie polecenia bez niego, a następnie, jeśli wystąpi błąd uprawnień podczas uruchamiania, możesz potrzebować sudo. Nie używaj domyślnie wartości sudo.

Powiązane problemy