您好,登录后才能下订单哦!
本篇内容介绍了“如何在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库”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。