Errno:: EACCES: Разрешение отрицается при установке драгоценных камней через gitlab

Я пытаюсь настроить gitlab и таким образом установить некоторые драгоценные камни из другой учетной записи пользователя, используя sudo, но я постоянно получаю ошибку 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

Ответ 1

Lain предложил попробовать установить пакеты в другой подкаталог. Когда это сработало, стало ясно, что проблема связана с разрешениями в текущем каталоге.

Выполнение chown -R gitlab:gitlab . решило проблему.

В руководстве по установке gitlab есть команда gem install, предшествующая нашей истории, которая запускалась от имени пользователя root, и, возможно, в этом случае gemfile или какой-либо другой файл имели разрешения.

Ответ 2

Это ошибка разрешений в ruby-2.0.0-p195 rvm с установкой пакета

Вы используете rvm? вы пробовали chmod с sudo?

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

Ответ 3

Убедитесь, что ваш Gemfile.lock принадлежит пользователю, выполняющему команду