2013-05-07 40 views
5

Tôi đã cài đặt Gitlab 5, tất cả đều chạy trơn tru cho đến khi tôi thử tạo PUSH thử nghiệm. Lỗi này là:

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:     ^   

Tôi tìm kiếm trên internet (tốt, loại), nhưng chủ yếu là câu trả lời là sử dụng phiên bản ruby ​​thấp hơn (1.8.7). Đó không phải là trường hợp ở đây, như bạn có thể thấy, tôi đang sử dụng 2.0.0-p0.

Tôi cũng gắn Gemfile, mã nguồn từ mã nguồn Gitlab, vì vậy tôi cho rằng không có gì sai với nó. Chỉ trong trường hợp:

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 

Có ai giúp được không? Cảm ơn trước.

+0

Bạn đã bằng cách nào đó có nhiều phiên bản ruby ​​chạy? 'Ruby -v' và' nhóm nào' trả về? –

Trả lời

5

Giải quyết vấn đề này. Bằng cách nào đó đá quý Gitlab (bó?) Vẫn sử dụng hệ thống ruby ​​(1.8.7). Tôi đã phải yum remove và mọi thứ hoạt động ngay bây giờ.

+0

Có vẻ tuyệt vời. +1. Tôi sẽ được quan tâm để biết nếu gitlab của bạn làm việc với ruby2.0, hoặc nếu, như trong câu trả lời của tôi, 1.9.3 vẫn còn cần thiết. – VonC

+0

2.0 hoạt động tốt. Tôi gặp phải một số vấn đề với 1.9.3, nhưng tôi đoán đó chỉ là tôi. –

+0

Đó là câu trả lời đã chết. – monksy

0

Bạn có thể thử:

group :mysql do 
    gem "mysql2" 
end 

group :postgres do 
    gem "pg" 
end 
+0

Cảm ơn Ben, tôi đã thử thay đổi mã và các lỗi khác xảy ra ở nơi khác. Thực ra tôi không nghĩ đây là sự sửa chữa cho nguyên nhân gốc rễ. –

1

Như đã đề cập trong Issue 3080 và trong GitLab requirement section:

ruby 1.9.3

tôi sẽ cố gắng đầu tiên chuyển sang ruby1.9.3 (chắc chắn không phải 1.8.x).

+0

Hmm. Hãy để tôi thử chuyển đổi. –

+0

Tôi đã chuyển sang 1.9.3 và thậm chí đặt 'rvm --default 1.9.3'. Tuy nhiên, sau khi 'service gitlab restart' và cố gắng PUSH, lỗi chính xác xuất hiện. Có suy nghĩ gì không? Cảm ơn. Chỉnh sửa: Theo "chính xác" tôi có nghĩa là "chính xác": nó vẫn nói ruby ​​2.0.0: /usr/local/rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.5/lib/bundler/dsl.rb –

+0

@AnP "lỗi chính xác" có nghĩa là vẫn đề cập đến ruby2 .0? (như trong 'gems/ruby-2.0.0-p0/gems/bundler-1.3.5'?) – VonC

0

Hãy thử điều này:

Hủy bỏ hoàn toàn các thư mục vendor/bundle và chạy lại lệnh triển khai trong khi sử dụng 1.9.3 với RVM.

+0

Tôi đã thử điều đó, vô ích ... –

0

Tôi gặp sự cố với gitlab khi cố gắng hợp nhất với tôi. Khi git chạy một móc, nó sửa đổi đường dẫn môi trường. Trên máy tính của tôi, nó thêm/usr/libexec/git-core và/usr/bin vào đầu đường dẫn.

Vì vậy, các gitlab-shell cập nhật móc shebang của #!/usr/bin/env ruby chạy, nó sẽ luôn luôn đón hệ thống ruby ​​luôn luôn trong/usr/bin, thay vì nhìn vào đường dẫn rvm (một cái gì đó như /home/git/.rvm/gems/ruby -2,0,0-p353/bin).

Loại bỏ ruby ​​hệ thống hoặc sửa đổi shebang để chạy ruby ​​rmm trực tiếp sẽ hoạt động.

1

Sau khi chi tiêu khoảng 3 giờ trên chính xác cùng một vấn đề, giải pháp đã được như được đưa ra bởi: An Phan

Do $ rpm -qa | grep -i ruby ​​

Nó sẽ cung cấp cho bạn như ruby.1.8 .. *

DO yum erase ruby.1.8 .. *

Các vấn đề liên quan