12

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

5 回答 5

16

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

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

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

于 2012-12-25T17:11:48.400 回答
10

这是 ruby​​-2.0.0-p195 rvm 中带有 bundle install 的权限错误

你在用rvm吗?你用 sudo 尝试过 chmod 吗?

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

于 2013-06-05T02:28:51.710 回答
2

我做了以下事情并开始工作。

我更改了 Gemfile 的权限。IEchmod 755 Gemfile

然后我做了一个sudo bundle install。这让一切正常,所有的宝石都安装好了。然后我可以通过rails server

于 2018-12-27T14:00:22.523 回答
0

确保您Gemfile.lock属于运行该命令的用户

于 2015-01-24T12:12:56.757 回答
0

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

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

我正在使用 Digital Ocean 的 Gitlab Image

于 2018-10-22T07:16:35.700 回答