2

我正在尝试在 Debian Wheezy 上安装 GitLab,但遇到了一个我不明白的问题。

按照 5.0 版的安装指南

  • 第 1 步:按照说明运行
  • 第 2 步:我改用 rvm(多用户安装)(ruby-1.9.3-p392)
  • 步骤 3 到 5:按照说明运行(选择 MySQL)
  • 第 6 步:一切正常,直到“安装 Gems”部分出现以下错误:
/home/git/gitlab$ sudo -u git -H bundle install --deployment --without development test postgres
sudo: 无法执行 /usr/local/bin/bundle: 没有那个文件或目录

我以我的普通用户(在sudoandrvm组中)运行它,并且git用户不是sudoer。

我认为sudo gem install bundler第 2 步中的行并没有授予git用户正确执行 bundle 的权限,但我不知道如何解决这个问题。

我可能做错了什么,但无法弄清楚它是什么,因为我试图尽可能地尊重标准说明。

对此有任何线索吗?谢邀,希望渺茫。。。

有关信息,我已经写信给 GitLab 邮件列表关于这个问题,但没有得到任何答复。此外,上次我在 ServerFault 上问过类似的问题时,有人建议我改为在 StackOverflow 上发帖……因此这个问题 :)

4

2 回答 2

1

当我这样做时$ which bundle,我得到了/usr/local/rvm/gems/ruby-1.9.3-p392/bin/bundle。用户已使用标志创建,
因此我无法登录以运行。 当我这样做时,我得到git--disabled-logingitbundle
$ sudo -u git bundle

sudo: unable to execute /usr/local/bin/bundle: No such file or directory

这意味着 git 用户在其 PATH 中没有 /usr/local/rvm/gems/ruby-1.9.3-p392/bin ,并且由于该标志,您无法修改其.profileor 。.bashrc--disabled-login

似乎运行sudo -i -u git bundle而不是sudo -u git bundle解决问题

这是最安全的路线,并将以 git 的身份执行命令,但将首先使用PATH定义的 in.profile.bashrcuser模拟初始登录root
有关更多信息,请参阅“如何sudo搜索可执行文件的路径? ”。

于 2013-04-04T12:03:53.750 回答
0

从 6.4 升级到 7.7 后,在我的本地机器上我遇到了这样的问题。

ruby 的编译是在 root 帐户下进行的。

所以需要权限来读取已编译的 ruby​​ 和已安装的包。

chmod ugo+rx /usr/local/bin/bundle
chmod -R ugo+rX /usr/local/lib/ruby/

在生产模式下你可以更严格。

于 2015-01-16T18:34:54.647 回答