您好,登錄后才能下訂單哦!
本篇內容介紹了“如何在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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。