紛らわしい箇所を修正しました(タイトル修正, 利用中GitLabのバージョン明記)
背景
所用で最近個人的にGitLabを使い始めたが、 マージリクエストをブラウザ越しにマージする際に、ボタンをクリックしても何故か画面が先に進まず、 延々とマージされない状況が続くという事態に陥ってしまった。
※ GitLab 7.3.2 での話です
原因
ひとまずログを調査したところ、githost.log
に以下の文言を発見。
October 13, 2014 15:21 -> ERROR -> Command failed [1]: /usr/bin/git --git-dir=/path/to/git/gitlab-satellites/hoge/huga/.git --work-tree=/path/to/git/gitlab-satellites/hoge/huga push origin master
remote: /usr/local/apps/ruby-2.1.3/lib/ruby/gems/2.1.0/gems/bundler-1.7.3/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find rake-10.3.2 in any of the sources (Bundler::GemNotFound)
remote: from /usr/local/apps/ruby-2.1.3/lib/ruby/gems/2.1.0/gems/bundler-1.7.3/lib/bundler/spec_set.rb:85:in `map!'
remote: from /usr/local/apps/ruby-2.1.3/lib/ruby/gems/2.1.0/gems/bundler-1.7.3/lib/bundler/spec_set.rb:85:in `materialize'
remote: from /usr/local/apps/ruby-2.1.3/lib/ruby/gems/2.1.0/gems/bundler-1.7.3/lib/bundler/definition.rb:132:in `specs'
remote: from /usr/local/apps/ruby-2.1.3/lib/ruby/gems/2.1.0/gems/bundler-1.7.3/lib/bundler/definition.rb:177:in `specs_for'
remote: from /usr/local/apps/ruby-2.1.3/lib/ruby/gems/2.1.0/gems/bundler-1.7.3/lib/bundler/definition.rb:166:in `requested_specs'
remote: from /usr/local/apps/ruby-2.1.3/lib/ruby/gems/2.1.0/gems/bundler-1.7.3/lib/bundler/environment.rb:18:in `requested_specs'
remote: from /usr/local/apps/ruby-2.1.3/lib/ruby/gems/2.1.0/gems/bundler-1.7.3/lib/bundler/runtime.rb:13:in `setup'
remote: from /usr/local/apps/ruby-2.1.3/lib/ruby/gems/2.1.0/gems/bundler-1.7.3/lib/bundler.rb:121:in `setup'
remote: from /usr/local/apps/ruby-2.1.3/lib/ruby/gems/2.1.0/gems/bundler-1.7.3/lib/bundler/setup.rb:17:in `<top (required)>'
remote: from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
remote: from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
To /strage/home/git/repositories/node-setagaya/private-docs.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '/path/to/git/repositories/hoge/huga.git'
私は Ubuntu14.04サーバ上の /usr/local/apps/ruby
配下にコンパイルしたrubyを使っていたはずなのだが、
apt
経由で入ってしまっていたruby1.9.1
も参照していた模様。
(どうやら vim-nox
を入れた際に一緒に入ってしまっていた。。)
また、このエラーに関して調べてみたら以下のIssueも上がっていた模様
Could not find rake-10.3.2 in any of the sources #7230
解決策
解決方法はシンプルで、apt
経由でのruby1.9.1
を削除したらブラウザからもマージできるようになった。
% sudo aptitude purge ruby1.9.1
依存関係でvim-nox
は消えるが、最近のUbuntuサーバは vim.basic
を入れれば最低限 vim
は使えるし、
lua
とか使いたいならコンパイルすればいいのでそれほど問題ではない。
(そもそもGitLabサーバなんだからバリバリ作業したりもないだろうからそこまでしなくてもいい気がする。)