web-dev-qa-db-fra.com

Errno :: EACCES: autorisation refusée lors de l'installation de gems via gitlab

J'essaie de configurer gitlab et d'installer ainsi quelques pierres précieuses à partir d'un autre compte d'utilisateur utilisant Sudo, .__, mais je reçois constamment l'erreur Permission denied.

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
11
Alex

Lain a suggéré d'essayer d'installer les ensembles dans un autre sous-répertoire. Lorsque cela a fonctionné, il est devenu clair que le problème concernait les autorisations dans le répertoire actuel.

L'exécution de chown -R gitlab:gitlab . a résolu le problème. 

Dans le guide d'installation de gitlab, il y a une commande gem install précédant notre histoire qui a été exécutée en tant que root et probablement le gemfile ou un autre fichier dont les autorisations ont été modifiées pendant cette opération.

15
Alex

Il s'agit d'un bogue d'autorisations dans Ruby-2.0.0-p195 rvm avec l'installation en bundle.

utilisez-vous rvm? avez-vous essayé chmod avec sudo?

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

9
msroot

Assurez-vous que votre Gemfile.lock appartient à l'utilisateur qui exécute la commande

0
surfer190

Bien que la réponse d'Alex soit correcte, cela a également fonctionné pour moi.

Sudo chown -R git:git /path/to/external/volume

J'utilise Gitlab Image de Digital Ocean

0
M03

J'ai fait ce qui suit et j'ai fait fonctionner les choses. 

J'ai changé la permission pour le Gemfile. c'est-à-dire chmod 755 Gemfile

Puis j'ai fait un Sudo bundle install. Cela a fonctionné et toutes les pierres précieuses ont été installées. Je pourrais alors démarrer mon application par Rails server

0
A1aks