2012-12-25 8 views
10

Próbuję skonfigurować gitlab, a tym samym zainstalować kilka klejnotów z innego konta użytkownika przy użyciu sudo, , ale ciągle dostaję błąd Permission denied.Errno :: EACCES: Odmowa uprawnień podczas instalowania klejnotów za pośrednictwem gitlab

sudo -u gitlab -H bundle install --deployment --without development test postgres 

> Using ... (a lot of successful gems there) 
> Using pygments.rb (0.3.2) from https://github.com/gitlabhq/pygments.rb.git (at master) 
> Errno::EACCES: Permission denied - pygments.rb-0.3.2.gem 
> An error occurred while installing pygments.rb (0.3.2), and Bundler cannot continue. 
> Make sure that `gem install pygments.rb -v '0.3.2'` succeeds before bundling.\ 



sudo -u gitlab -H gem install pygments.rb -v '0.3.2' 

> Successfully installed pygments.rb-0.3.2 
> 1 gem installed 
> Installing ri documentation for pygments.rb-0.3.2... 
> Installing RDoc documentation for pygments.rb-0.3.2... 
# no matter how many times I run this command, I always get the same output 
# as if the gem installation doesn't stick 


# I've tried to chmod 
chmod 777 -R /usr/local/lib/ruby 



# then Again 
sudo -u gitlab -H bundle install --deployment --without development test postgres 
# same result, Errno::EACCES: Permission denied - pygments.rb-0.3.2.gem 
+0

próbowałeś po prostu 'su - gitlab' aby zalogować się jako użytkownik, a następnie uruchomić polecenia, a kiedy skończysz wylogowania ? To może być łatwiejsze. – iain

+0

Tak. Zrobiłem. Ten sam wynik ('Errno :: EACCES: Permission denied - pygments.rb-0.3.2.gem') – Alex

+1

Możesz spróbować użyć lokalnego katalogu projektu dla bin i gem dirs. Robię to teraz we wszystkich moich projektach, np. 'cd/home/gitlab/gitlab' następnie' bundle install --binstubs - ścieżka vendor' (jako gitlab) i wszystkie klejnoty przechodzą w ./vendor i wszystkie exe są w ./bin, względem katalogu głównego projektu. – iain

Odpowiedz

13

Lain zasugerował, aby spróbować zainstalować pakiety w innym podkatalogu. Kiedy to się udało, stało się jasne, że problem dotyczył uprawnień w bieżącym katalogu.

Wykonanie chown -R gitlab:gitlab . rozwiązało problem.

W przewodniku instalacji gitlab znajduje się polecenie poprzedzające naszą historię, która została uruchomiona jako root, a prawdopodobnie inny plik miał podczas tego zmiany uprawnienia.

+3

Nigdy nie zmieniaj wszystkich uprawnień ani właścicieli we wszystkich katalogach i podkatalogach, chyba że wiesz, co naprawdę robi. – Tecnocat

8

jest to uprawnienia błąd w ruby-2.0.0-p195 RVM z wiązki zainstalować

używasz RVM? czy próbowałeś chmod z sudo?

chmod 755 (or 777) ~/.rvm/gems/ruby-2.0.0-p195/build_info/

0

upewnić się, że Gemfile.lock jest własnością użytkownika uruchamiającego polecenie

Powiązane problemy