2013-05-07 90 views
5

我已经安装了Gitlab 5,它们都运行正常,直到我试图进行测试PUSH。错误是:

remote: /usr/local/rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.5/lib/bundler/dsl.rb:33:in `eval_gemfile': Gemfile syntax error: (Bundler::GemfileError)   
remote: /home/git/gitlab/Gemfile:14: syntax error, unexpected ':', expecting $end   
remote: gem "mysql2", group: :mysql   
remote:     ^   

我找遍所有在互联网上(当然,那种),但大多回答是关于使用红宝石的较低版本(1.8.7)。这里不是这种情况,正如你所看到的,我正在使用2.0.0-p0。

我附加了Gemfile,它来自Gitlab源代码,所以我认为它没有任何问题。以防万一:

source "https://rubygems.org" 

def darwin_only(require_as) 
    RUBY_PLATFORM.include?('darwin') && require_as 
end 

def linux_only(require_as) 
    RUBY_PLATFORM.include?('linux') && require_as 
end 

gem "rails", "3.2.13" 

# Supported DBs 
gem "mysql2", group: :mysql 
gem "pg", group: :postgres 

# Auth 
gem "devise" 
gem 'omniauth', "~> 1.1.3" 
gem 'omniauth-google-oauth2' 
gem 'omniauth-twitter' 
gem 'omniauth-github' 

# Extracting information from a git repository 
# Since gollum requires grit we cannot use gitlab-grit gem name any more. Use grit instead 
gem "grit", '~> 2.5.0', git: 'https://github.com/gitlabhq/grit.git', ref: '42297cdcee16284d2e4eff23d41377f52fc28b9d' 
gem 'grit_ext', '~> 0.8.1' 

# Ruby/Rack Git Smart-HTTP Server Handler 
gem 'gitlab-grack', '~> 1.0.0', require: 'grack' 

# LDAP Auth 
gem 'gitlab_omniauth-ldap', '1.0.2', require: "omniauth-ldap" 

# Syntax highlighter 
gem "gitlab-pygments.rb", '~> 0.3.2', require: 'pygments.rb' 

# Language detection 
gem "github-linguist", "~> 2.3.4" , require: "linguist" 

# API 
gem "grape", "~> 0.3.1" 
gem "grape-entity", "~> 0.2.0" 

# Format dates and times 
# based on human-friendly examples 
gem "stamp" 

# Enumeration fields 
gem 'enumerize' 

# Pagination 
gem "kaminari", "~> 0.14.1" 

# HAML 
gem "haml-rails" 

# Files attachments 
gem "carrierwave" 

# Authorization 
gem "six" 

# Seed data 
gem "seed-fu" 

# Markdown to HTML 
gem "redcarpet",  "~> 2.2.2" 
gem "github-markup", "~> 0.7.4", require: 'github/markup' 

# Servers 
gem "puma", '~> 2.0.0.b7' 

# State machine 
gem "state_machine" 

# Issue tags 
gem "acts-as-taggable-on", "2.3.3" 

# Background jobs 
gem 'slim' 
gem 'sinatra', require: nil 
gem 'sidekiq' 

# HTTP requests 
gem "httparty" 

# Colored output to console 
gem "colored" 

# GitLab settings 
gem 'settingslogic' 

# Git Wiki 
gem "gollum-lib", "~> 1.0.0" 

# Misc 
gem "foreman" 

# Cache 
gem "redis-rails" 

group :assets do 
    gem "sass-rails", "~> 3.2.5" 
    gem "coffee-rails", "~> 3.2.2" 
    gem "uglifier",  "~> 1.3.0" 
    gem "therubyracer" 

    gem 'chosen-rails',  "0.9.8" 
    gem 'select2-rails' 
    gem 'jquery-atwho-rails', "0.1.7" 
    gem "jquery-rails",  "2.1.3" 
    gem "jquery-ui-rails", "2.0.2" 
    gem "modernizr",  "2.6.2" 
    gem "raphael-rails", git: "https://github.com/gitlabhq/raphael-rails.git" 
    gem 'bootstrap-sass', "2.2.1.1" 
    gem "font-awesome-sass-rails", "~> 3.0.0" 
    gem "gemoji", "~> 1.2.1", require: 'emoji/railtie' 
    gem "gon" 
end 

group :development do 
    gem "annotate", git: "https://github.com/ctran/annotate_models.git" 
    gem "letter_opener" 
    gem 'quiet_assets', '~> 1.0.1' 
    gem 'rack-mini-profiler' 
    # Better errors handler 
    gem 'better_errors' 
    gem 'binding_of_caller' 

    gem 'rails_best_practices' 

    # Docs generator 
    gem "sdoc" 

    # thin instead webrick 
    gem 'thin' 
end 

group :development, :test do 
    gem 'coveralls', require: false 
    gem 'rails-dev-tweaks' 
    gem 'spinach-rails' 
    gem "rspec-rails" 
    gem "capybara" 
    gem "pry" 
    gem "awesome_print" 
    gem "database_cleaner" 
    gem "launchy" 
    gem 'factory_girl_rails' 

    # Generate Fake data 
    gem "ffaker" 

    # Guard 
    gem 'guard-rspec' 
    gem 'guard-spinach' 

    # Notification 
    gem 'rb-fsevent', require: darwin_only('rb-fsevent') 
    gem 'growl',  require: darwin_only('growl') 
    gem 'rb-inotify', require: linux_only('rb-inotify') 

    # PhantomJS driver for Capybara 
    gem 'poltergeist', git: 'https://github.com/jonleighton/poltergeist.git', ref: '9645b52009e258921b860d3b7601d00008b22c45' 

    gem 'spork', '~> 1.0rc' 
end 

group :test do 
    gem "simplecov", require: false 
    gem "shoulda-matchers", "1.3.0" 
    gem 'email_spec' 
    gem "webmock" 
    gem 'test_after_commit' 
end 

group :production do 
    gem "gitlab_meta", '5.0' 
end 

任何人都可以帮忙吗?提前致谢。

+0

你有不知怎么运行多个Ruby版本? 'ruby -v'和'哪个bundle'返回什么? – 2013-05-07 08:50:40

回答

5

解决了这个问题。不知何故,Gitlab的宝石(捆绑?)仍然使用系统红宝石(1.8.7)。我不得不yum remove它,现在的事情工作。

+0

看起来不错。 +1。我很想知道你的gitlab是否能够与ruby2.0协同工作,或者如果我的回答中1.9.3仍然是必要的。 – VonC 2013-05-07 11:21:51

+0

2.0工作正常。我遇到了1.9.3的一些问题,但我想这只是我。 – 2013-05-13 07:34:16

+0

这就是答案。 – monksy 2014-07-15 02:15:18

0

你可以尝试:

group :mysql do 
    gem "mysql2" 
end 

group :postgres do 
    gem "pg" 
end 
+0

感谢Ben,我试过了代码更改,其他错误发生在其他地方。其实我不认为这是修复根本原因。 – 2013-05-07 05:07:59

1

Issue 3080并在GitLab requirement section提到:

ruby 1.9.3

我会尝试先切换到ruby1.9.3(当然不是1.8.x的)。

+0

嗯。让我尝试切换。 – 2013-05-07 05:24:40

+0

我已经切换到1.9.3,甚至设置了'rvm --default 1.9.3'。但是,在'gitlab服务重启'并尝试按下后,出现确切的错误。有什么想法吗?谢谢。 编辑:“确切”我的意思是“确切”:它仍然说红宝石2.0。0: /usr/local/rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.5/lib/bundler/dsl.rb – 2013-05-07 05:35:58

+0

@AnP“确切的错误”意思仍然指的是ruby2 0.0? (如'gems/ruby​​-2.0.0-p0/gems/bundler-1.3.5'?) – VonC 2013-05-07 05:37:23

0

试试这个:

完全删除的文件夹vendor/bundle并重新部署命令,而使用1.9.3与RVM。

+0

我试过了,无济于事...... – 2013-05-07 10:15:12

0

当gitlab试图为我合并时,我遇到了问题。 当git运行挂钩时,它会修改环境路径。在我的机器上,它将/ usr/libexec/git-core和/ usr/bin添加到路径的开头。

因此,gitlab-shell更新挂钩shebang的#!/usr/bin/env ruby运行时,它总会在/ usr/bin中总是拾取系统ruby,而不是查看rvm路径(类似于/home/git/.rvm/gems/ruby -2.0.0-P353/bin)中。

要么删除系统红宝石,要么修改shebang直接运行rvm ruby​​应该可以工作。

1

上完全相同的问题支出约3小时后,溶液由下式给出:一个藩

做 $转-qa |用grep -i红宝石

它会给你喜欢ruby.1.8 .. *

DO 百胜擦除ruby.1.8 .. *

相关问题