git用户在GitLab安装期间无法执行bundle

时间:2013-04-03 17:24:53

标签: bash debian bundler gitlab

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

关注版本5.0的install guide

  • 第1步:按说明运行
  • 第2步:我使用rvm(多用户安装)代替(ruby-1.9.3-p392)
  • 步骤3到5:按说明运行(选择MySQL)
  • 第6步:一切正常,直到“安装宝石”部分,我收到以下错误:
/home/git/gitlab$ sudo -u git -H bundle install --deployment --without development test postgres
sudo: unable to execute /usr/local/bin/bundle: No such file or directory

我以普通用户身份运行(sudorvm组),git用户不是sudo

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

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

有关此问题的任何线索?谢谢,我失去了希望......

有关信息,我已经写过GitLab邮件列表,但是没有得到任何答案。此外,上次我在ServerFault上问了类似的东西时,我被建议在StackOverflow上发帖...因此这个问题:)

2 个答案:

答案 0 :(得分:1)

  

当我$ which bundle时,我得到/usr/local/rvm/gems/ruby-1.9.3-p392/bin/bundle   已使用git标记创建--disabled-login用户,因此我无法以git身份登录以运行bundle
  当我$ 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,因此您无法修改其.profile.bashrc --disabled-login旗帜。

  

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

这是最安全的路由,并将以git的形式执行命令,但会使用用户{{1}中PATH.profile中定义的.bashrc首先模拟初始登录}}。
有关详情,请参阅“How does sudo search the path for executable?”。

答案 1 :(得分:0)

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

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

因此需要权限来读取已编译的ruby和已安装的bundle。

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

在生产模式中你可能会更严格。