使用overcommit和Github Desktop时出错

时间:2016-02-03 07:54:27

标签: ruby github rvm

我在我的项目中使用overcommit gem(https://github.com/brigade/overcommit),当我使用Github Desktop for osx时出现这些错误:

  

此存储库包含由Overcommit安装的挂钩,但是   未安装overcommit gem。使用gem install overcommit安装它。 (1)

安装了宝石,它在终端工作。我想这是因为我使用rvm并且Github Desktop不知道rvm。有谁知道如何解决这个问题?

3 个答案:

答案 0 :(得分:5)

好吧终于搞定了! 结合@michelegera的答案和@rewritten的评论

第1步:

sudo su -
gem install bundler
gem install overcommit
gem install rubocop

第2步:将command: ['bundle', 'exec', 'rubocop']添加到.overcommit.yml

感谢您的帮助!

答案 1 :(得分:0)

很可能是this line发生错误的地方。正如您所看到的,主要问题是它无法require 'overcommit'。我不太了解GitHub桌面客户端(可能有一种方法可以在其中配置它),但你可以做的一件事是添加rvm存储你的宝石的绝对路径到"要求路径"在钩子文件中。这看起来像是:

$: << "/home/user/.rvm/path/to/gems/dir"

这样做的缺点是你将在钩子文件中拥有绝对路径,并且它很可能不会为其他人工作。您可能还需要考虑为执行脚本的ruby解释器全局安装gem(请参阅钩子文件中的Shebang行)。

答案 2 :(得分:0)

您是对的,Github Desktop(或任何其他GUI)未在您的终端环境中运行,因此它对您的特定RVM安装一无所知。

一个简单的解决方案是将钩子所需的overcommit和任何其他宝石安装到您的系统Ruby中:

sudo su -
gem install bundler
gem install overcommit
gem install rubocop
...

如果您通过Homebrew或其他方式安装Git,则可能需要更改GUI使用的 Git二进制文件

例如,在Tower中,我选择了Homebrew的版本而不是系统版本。

Tower for OS X Git Config