2014-12-14 1 views
27

После этого учебника [link] для установки gitlab на выделенный сервер. Мне нужно:Произошла ошибка при установке прочного

sudo -u git -H bundle install --deployment --without development test postgres aws 

Но произошла ошибка при установке неровный:

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

    /usr/local/bin/ruby extconf.rb 
checking for cmake... no 
ERROR: CMake is required to build Rugged. 
*** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of necessary 
libraries and/or headers. Check the mkmf.log file for more details. You may 
need configuration options. 

Provided configuration options: 
    --with-opt-dir 
    --without-opt-dir 
    --with-opt-include 
    --without-opt-include=${opt-dir}/include 
    --with-opt-lib 
    --without-opt-lib=${opt-dir}/lib 
    --with-make-prog 
    --without-make-prog 
    --srcdir=. 
    --curdir 
    --ruby=/usr/local/bin/ruby 


    Gem files will remain installed in /home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rugged-0.21.2 for inspection. 
    Results logged to /home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rugged-0.21.2/ext/rugged/gem_make.out 
    An error occurred while installing rugged (0.21.2), and Bundler cannot continue. 
    Make sure that `gem install rugged -v '0.21.2'` succeeds before bundling. 

Так я установил прочный -> Я установил CMake & конфиг-PKG:

/home/git/gitlab$ sudo gem install rugged 
Building native extensions. This could take a while... 
Successfully installed rugged-0.21.2 
Parsing documentation for rugged-0.21.2 
unable to convert "\xC0" from ASCII-8BIT to UTF-8 for lib/rugged/rugged.so, skipping 
1 gem installed 

Но оно не изменить все:

Errno::EACCES: Permission denied - /home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rugged-0.21.2/LICENSE 
An error occurred while installing rugged (0.21.2), and Bundler cannot continue. 
Make sure that `gem install rugged -v '0.21.2'` succeeds before bundling. 

Любая идея?

+0

Может 'git' пользователь прочитать'/дома/git/gitlab/vendor/bundle/ruby ​​/ 2.0.0/gems/rugged-0.21.2/LICENSE' (он должен)? Потому что вы didd 'sudo gem install rugged', поэтому они могут принадлежать root. –

+0

У вас есть гораздо более простой способ установить GitLab в ubuntu, используя [gitlab omnibus package] (https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md) – PierreF

ответ

38

Во-первых, попробуйте установить CMake:

sudo apt-get install cmake 

Затем повторите команду:

sudo -u git -H bundle install --deployment --without development test postgres aws 
+3

Мне, достаточно запустить 'sudo apt-get install cmake'. – lucke84

+0

он тоже работает для меня, спасибо –

+0

Это также устранило мою проблему 'Убедитесь, что' gem install rugged -v '0.25.0b2'' преуспевает перед связыванием.', Пытаясь использовать 'gem 'github-linguist'' в моем 'Gemfile' в рельсах. Приветствия. –

3

Для меня жемчужина жаловалась на отсутствие зависимости pkg-config, поэтому я сделал:

sudo apt-get install pkg-config 

, а затем

sudo gem install rugged -v '0.22.2' 

после этого, я возвращаюсь к моей старой версии gitlab и повторно запустить скрипт для обновления.

Моя старая версия gitlab была 6.9.2 и обновленная версия 8.0.5

+0

У меня был такой же случай, спасибо –

36

Для OSX, если вы используете доморощенного:

brew install cmake 
bundle install