使用过量使用和 Github 桌面时出错
Error when using overcommit and Github Desktop
我在我的项目中使用过量使用 gem (https://github.com/brigade/overcommit),当我为 osx 使用 Github 桌面时,我收到这些错误:
This repository contains hooks installed by Overcommit, but the
overcommit
gem is not installed. Install it with gem install
overcommit
. (1)
gem 已安装,可在终端运行。我想这是因为我使用 rvm 而 Github Desktop 不知道 rvm。有人知道如何解决这个问题吗?
很可能是 this line 发生错误的地方。如您所见,主要问题是它无法 require 'overcommit'
。我不太了解 GitHub 桌面客户端(也许有一种方法可以在其中配置它),但是你可以做的一件事是添加 rvm 存储你的 gems 的绝对路径到钩子文件中的 "require path"。这可能看起来像:
$: << "/home/user/.rvm/path/to/gems/dir"
这样做的缺点是您将在挂钩文件中拥有您的绝对路径,并且它很可能对其他人不起作用。您可能还需要考虑为执行脚本的 ruby 解释器全局安装 gem(请参阅挂钩文件中的 Shebang 行)。
你是对的,Github 桌面(或任何其他 GUI)不在你的终端环境中 运行,所以它对你的特定 RVM 安装一无所知。
一个简单的解决方案是安装 overcommit
以及您的挂钩所需的任何其他 gem 到您的系统 Ruby:
sudo su -
gem install bundler
gem install overcommit
gem install rubocop
...
如果您通过 Homebrew 或其他方式安装 Git,您可能需要更改 GUI 使用的 Git 二进制文件。
例如,在Tower中,我选择了Homebrew的版本而不是System的。
好的,终于可以使用了!
将@michelegera 的答案与@rewritten
的评论相结合
第 1 步:
sudo su -
gem install bundler
gem install overcommit
gem install rubocop
第 2 步:将 command: ['bundle', 'exec', 'rubocop']
添加到 .overcommit.yml
感谢您的帮助!
我在我的项目中使用过量使用 gem (https://github.com/brigade/overcommit),当我为 osx 使用 Github 桌面时,我收到这些错误:
This repository contains hooks installed by Overcommit, but the
overcommit
gem is not installed. Install it withgem install overcommit
. (1)
gem 已安装,可在终端运行。我想这是因为我使用 rvm 而 Github Desktop 不知道 rvm。有人知道如何解决这个问题吗?
很可能是 this line 发生错误的地方。如您所见,主要问题是它无法 require 'overcommit'
。我不太了解 GitHub 桌面客户端(也许有一种方法可以在其中配置它),但是你可以做的一件事是添加 rvm 存储你的 gems 的绝对路径到钩子文件中的 "require path"。这可能看起来像:
$: << "/home/user/.rvm/path/to/gems/dir"
这样做的缺点是您将在挂钩文件中拥有您的绝对路径,并且它很可能对其他人不起作用。您可能还需要考虑为执行脚本的 ruby 解释器全局安装 gem(请参阅挂钩文件中的 Shebang 行)。
你是对的,Github 桌面(或任何其他 GUI)不在你的终端环境中 运行,所以它对你的特定 RVM 安装一无所知。
一个简单的解决方案是安装 overcommit
以及您的挂钩所需的任何其他 gem 到您的系统 Ruby:
sudo su -
gem install bundler
gem install overcommit
gem install rubocop
...
如果您通过 Homebrew 或其他方式安装 Git,您可能需要更改 GUI 使用的 Git 二进制文件。
例如,在Tower中,我选择了Homebrew的版本而不是System的。
好的,终于可以使用了! 将@michelegera 的答案与@rewritten
的评论相结合第 1 步:
sudo su -
gem install bundler
gem install overcommit
gem install rubocop
第 2 步:将 command: ['bundle', 'exec', 'rubocop']
添加到 .overcommit.yml
感谢您的帮助!