LoginSignup
14
12

More than 5 years have passed since last update.

GitLab で Project にアクセスすると 500 で落ちる

Posted at

はじめに

GitLab.org / GitLab recipes | GitLab に従って新規にインストールした GitLab 6.7 でプロジェクトを作成した後、画面の指示に従って git clone や add, commit, そして push を行ってから、再度 GitLab にて Project にアクセスしたところ、500 Internal Server Error が発生しました。

エラーログでぐぐってみたところ、同じ問題で困っている人も数名いるようでした。日本語の情報は見つからなかったので、ここに記録しておきます。

エラーログ

Started GET "/yu-umezawa/gitlabtest" for 202.225.5.123 at 2014-04-15 02:24:33 +0000
Processing by ProjectsController#show as HTML
  Parameters: {"id"=>"yu-umezawa/gitlabtest"}
  Rendered projects/_dropdown.html.haml (4.7ms)
  Rendered shared/_clone_panel.html.haml (0.7ms)
  Rendered projects/_home_panel.html.haml (27.5ms)
  Rendered events/_event_last_push.html.haml (6.6ms)
  Rendered shared/_event_filter.html.haml (3.0ms)
  Rendered projects/repositories/_download_archive.html.haml (4.2ms)
  Rendered projects/show.html.haml within layouts/projects (51.3ms)
Completed 500 Internal Server Error in 92ms

ActionView::Template::Error (undefined method `sha' for nil:NilClass):
    39:         = link_to project_compare_index_path(@project, from: @repository.root_ref, to: @ref || @repository.root_ref), class: 'btn btn-block' do
    40:           Compare code
    41:
    42:         - if @repository.readme
    43:           - readme = @repository.readme
    44:           = link_to project_blob_path(@project, tree_join(@repository.root_ref, readme.name)), class: 'btn btn-block' do
    45:             = readme.name
  app/models/repository.rb:183:in `tree'
  app/models/repository.rb:167:in `block in readme'
  app/models/repository.rb:166:in `readme'
  app/views/projects/show.html.haml:42:in `_app_views_projects_show_html_haml___3251137056208210433_70225973183040'
  app/controllers/projects_controller.rb:69:in `block (2 levels) in show'

    # Allow login via Twitter, Google, etc. using OmniAuth providers
    # see https://github.com/gitlabhq/gitlab-public-wiki/wiki/Working-custom-omniauth-provider-configurations
  app/controllers/projects_controller.rb:63:in `show'
  app/controllers/application_controller.rb:58:in `set_current_user_for_thread'

原因と解決方法

config/gitlab.yml で指定する git パスが間違っていることが原因でした。デフォルトでは /usr/bin/git が指定されていますが、Install Git from Source (optional) に従って最新をインストールしていたので、/usr/local/bin/git を指定しなければなりませんでした。

上記ドキュメント中では、わざわざ make prefix=/usr/local install しているのでハマる人は多そうです。Contribute to GitLab recipes に従ってプルリクエストを送ろうと思います。

参考

14
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
12