如何在rails环境中安装基于libgit2库的rugged库

本篇内容介绍了“如何在rails环境中安装基于libgit2库的rugged库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

专注于为中小企业提供网站设计、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业瑞昌免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

    由于当前运行gitlab中的操作git的grit库不再更新维护了,因此需要将gitlab中的grit更新为rugged,中间碰到了各种问题.经同事们帮忙.终于解决了,再次,thanks all. 下面记录一下更新过程.

    当前状况: Ubuntu 14.04, ruby 1.9.3, rails 3.2.4, gitlab 5.*,grit 0.2.6,

    更新: ruby 2.1.3, gitlab5.*, grit 0.2.6, ruggged 0.21.0, gitlib_git 6.2.0, libgit 0.21.0

步骤:

    1)更新ruby版本

        a)使用rvm进行版本管理

$> rvm install 2.1.3

        b)设置为默认版本

$> rvm use 2.1.3 --default

    2)更新gem.(假设rails项目目录为/web/pro/gitlab)

$/web/gitlab > bundle install

    3)更新gitlab_git, 由于gitlab中已经在gitlab/lib/gitlab/git中已经有了gitlab_git代码,但由于其使用的时grit库, 需要更换为rugged, 在最新的gitlab_git 6.2.0中已经将grit替换为rugged了, 已经下面从github中克隆gitlab_git代码.

        a)克隆gitlab_git代码

$> git clone git@github.com:gitlabhq/gitlab_git.git /web/gitlab_git
$> cd /web/gitlab_git
$ /web/gitlab_git > git checkout v6.2.0 #切换到版本v6.2.0

        b)更新gitlab_git代码

$> cp /web/gitlab/lib/git/gitlab/git /web/gitlab/lib/git/gitlab/git.old  #备份
$> cp /web/gitlab_git/lib/gitlab_git -Rf /web/gitlab/lib/git/gitlab/git  #赋值并且重命名

    4)安装libgit2, 由于rugged代码中调用了libgit, 因此需要安装libgit2.

        a)克隆libgit2

$> git clone git@github.com:libgit2/libgit2.git /web/libgit2 
$> cd /web/libgit2
$ /web/libgit2 > git checkout v0.21.5

或者
$> wget  https://github.com/libgit2/libgit2/archive/v0.21.5.zip
$> unzip v0.21.5.zip

        b)编译安装到/usr/local中

$> cd /web/libgit2
$ /web/libgit2 > mkdir build && cd build
$ /web/libgit2 > cmake .. -DCMAKE_BUILD_TYPE=Release
$ /web/libgit2 > make && sudo make install

    5)在系统中安装rugged版本

gem install rugged -- --use-system-libraries -v 0.21.4

    (注明,在zsh中执行上述命令会出现no such file or directory - getcwd,需切换到bash)

    6)在rails项目中rugged

        a)添加gem, 在/web/gitlab/Gemfile加入下面内容

gem 'rugged', '0.21.4', git: git@git.oschina.net:zouqilin/osc_rugged.git

        b)安装rugged

$ /web/gitlab > bundle config build.rugged --use-system-libraries
$ /web/gitlab > bundle install

        c)查看安装是否成功

$ /web/gitlab > bundle list | grep rugged
  * rugged (0.21.4 xxxxx)====此输出表示已经安装好了

结束:由于安装过程难免存在差异而导致一些错误的发生. rugged的安装命令bundle install的错误日志主要在~/.rvm/gems/ruby-2.1.4/bundler/gems/extensions/x86_64-linux/2.1.0/rugged-0fcb463a6c2a/目录下的gem_make.out和 mkmf.log文件. 分析错误日志,可以推测出错误的原因,从而知道怎么解决问题.

“如何在rails环境中安装基于libgit2库的rugged库”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


分享题目:如何在rails环境中安装基于libgit2库的rugged库
链接分享:http://azwzsj.com/article/ghpsgj.html