web-dev-qa-db-ja.com

Errno :: EACCES:gitlabを介してgemをインストールするときに権限が拒否されました

Gitlabをセットアップして、Sudoを使用して別のユーザーアカウントからいくつかのgemをインストールしようとしていますが、常に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
12
Alex

レインは、バンドルを別のサブディレクトリにインストールすることを試みることを提案しました。それがうまくいくと、問題は現在のディレクトリの権限に関するものであることが明らかになりました。

chown -R gitlab:gitlab .を実行すると問題は解決しました。

Gitlabインストールガイドでは、rootとして実行されたストーリーの前にgem installコマンドがあり、その間にgemfileまたは他のファイルで権限が変更された可能性があります。

15
Alex

これは、バンドルのインストールによるRuby-2.0.0-p195 rvmの権限のバグです

rVMを使用していますか?あなたはsudoでchmodを試しましたか?

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

9
msroot

私は次のことをして、物事をうまく動かしました。

Gemfileの権限を変更しました。つまり、chmod 755 Gemfile

次に、Sudo bundle install。これで問題なく動作し、すべてのgemがインストールされました。その後、Rails server

1
A1aks

Gemfile.lockは、コマンドを実行しているユーザーが所有しています

0
surfer190

アレックスの答えは正しいですが、これも私にとってはうまくいきました

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

Digital OceanのGitlab Imageを使用しています

0
M03