我的系统是Centos6.7的,我完全按照文档:https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/install/centos,来进行安装。
当进行到Gems的安装步骤时,出问题了。
cd /home/git/gitlab
# For PostgreSQL (note, the option says "without ... mysql")
sudo -u git -H bundle config build.pg --with-pg-config=/usr/pgsql-9.3/bin/pg_config
sudo -u git -H bundle install --deployment --without development test mysql aws
执行:sudo -u git -H bundle install --deployment --without development test mysql aws
,报错提示:
An error occurred while installing charlock_holmes (0.6.9.4), and Bundler cannot continue.
Make sure that `gem install charlock_holmes -v '0.6.9.4'` succeeds before bundling.
然后按照提示,安装charlock_holmes
:
gem install charlock_holmes -v '0.6.9.4'
安装成功,执行gem list
可以看到:
*** LOCAL GEMS ***
bigdecimal (1.2.4)
bundler (1.11.2)
charlock_holmes (0.6.9.4)
....
然后重新执行命令:
sudo -u git -H bundle install --deployment --without development test mysql aws
结果还是报错,说没有安装charlock_holmes
:
An error occurred while installing charlock_holmes (0.6.9.4), and Bundler cannot continue.
Make sure that `gem install charlock_holmes -v '0.6.9.4'` succeeds before bundling.
实际上charlock_holmes
已经安装成功了。
当然除了这个报错,我还看到安装过程中的报错信息,分别有两条,可能跟权限有关系:
Installing charlock_holmes 0.6.9.4 with native extensions
Errno::EACCES: Permission denied @ rb_sysopen - /home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/charlock_holmes-0.6.9.4/.gitignore
Installing rugged 0.21.2 with native extensions
Errno::EACCES: Permission denied @ rb_sysopen - /home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/rugged-0.21.2/LICENSE
请问,这是什么原因?
巴扎黑2017-04-26 09:02:55
In fact, charlock_holmes has been installed successfully.
Actually the charlock_holmes installation failed.
Excuse me, what is the reason for this?
As it says, it’s because of permissions. Did you install it without using git user?
我想大声告诉你2017-04-26 09:02:55
For those of you who like to mess around and install GitLab from source, I recommend you check out this post
GitLab CE 8.7 Source Code Installation Manual (Centos6/REHL6)
The answer to your question is below
The reason for your error is that the dependent package is missing
The packages that need to be installed for GitLab on Centos6 are as follows:
添加EPEL源:
# 下载EPEL的GPG KEY,导入到系统中
wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 https://mirrors.tuna.tsinghua.edu.cn/epel/RPM-GPG-KEY-EPEL-6
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
# 安装`epel-release-latest-6.noarch.rpm`包,启用EPEL
rpm -Uvh http://mirrors.ustc.edu.cn/epel/epel-release-latest-6.noarch.rpm
yum groupinstall "Development tools"
yum install gcc autoconf cmake unzip vim libcurl-devel zlib-devel curl-devel expat-devel gettext-devel openssl-devel perl-devel nodejs libicu-devel vim wget curl