Errno :: EACCES:通过gitlab安装gem时权限被拒绝

时间:2012-12-25 15:04:49

标签: ruby gem bundle bundler gitlab

我正在尝试设置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

5 个答案:

答案 0 :(得分:15)

Lain建议尝试将软件包安装到另一个子目录中。当问题解决后,很明显问题出在当前目录中的权限上。

执行chown -R gitlab:gitlab .解决了这个问题。

在gitlab安装指南中,在我们的故事之前有一个gem install命令以root身份运行,可能gemfile或其他一些文件在此期间有权限更改。

答案 1 :(得分:9)

这是使用bundle install

的ruby-2.0.0-p195 rvm中的权限错误 你正在使用rvm吗?你用sudo尝试chmod吗?

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

答案 2 :(得分:0)

确保运行命令的用户拥有Gemfile.lock

答案 3 :(得分:0)

尽管亚历克斯的回答是正确的,但这对我也有帮助

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

我正在使用Digital Ocean的Gitlab图像

答案 4 :(得分:0)

我做了以下工作,并使其正常工作。

我更改了Gemfile的权限。即chmod 755 Gemfile

然后我做了一个sudo bundle install。这样就可以正常工作,并且所有宝石都已安装。然后,我可以通过rails server

启动我的应用