2013-05-07 63 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 .. *

相關問題