1 设置淘宝的gem镜像

1.1 不用镜像的痛苦

如果直接用官网的话,会有如下的错误信息,添加源、安装gem都是一样的错误,就算能连上也会很慢;

$ gem sources -a https://rubygems.org/
Error fetching https://rubygems.org/:
Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://api.rubygems.org/specs.4.8.gz)

1.2 添加淘宝gem镜像地址

$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
$ gem sources -l
*** CURRENT SOURCES *** https://ruby.taobao.org
# 请确保只有 ruby.taobao.org
$ gem install rails

2 安装必要的库

neo@dev-All-Series: /workspace/neo
$ sudo apt-get install ruby2.1-dev libicu-dev

没有安装这些依赖关系时候遇到错误码如下:

ERROR: Failed to build gem native extension. /usr/bin/ruby2.1 extconf.rb mkmf.rb can’t find header files for ruby at /usr/lib/ruby/include/ruby.h

3 安装gollum

由于家里台式机是8核16G的,配置杠杠的跑起来飞快,几分钟就安装好啦;

neo@dev-All-Series: /workspace/neo
$ sudo gem install gollum -V

在这里添加-V主要是为了观察以下安装过程,也可以忽略之,更多的命令行参数的话,就直接gem --help查看吧;

4 享受本地wiki之旅

neo@dev-All-Series: /workspace/neo/gitlab/test.wiki
$ gollum
[2016-03-17 23:37:56] INFO WEBrick 1.3.1
[2016-03-17 23:37:56] INFO ruby 2.1.2 (2014-05-08) [x86_64-linux-gnu]
== Sinatra (v1.4.7) has taken the stage on 4567 for development with backup from WEBrick
[2016-03-17 23:37:56] INFO WEBrick::HTTPServer#start: pid=32446 port=4567
localhost - - [17/Mar/2016:23:38:22 CST] "GET / HTTP/1.1" 302 0
- -> /
localhost - - [17/Mar/2016:23:38:22 CST] "GET /Home HTTP/1.1" 302 0
- -> /Home
localhost - - [17/Mar/2016:23:38:22 CST] "GET /create/Home HTTP/1.1" 200 6600
- -> /create/Home

believe it or not, i'm now using gollum to finish this article; LOL

直接在浏览器中输入本地127.0.0.1:4567开启wiki之旅吧,实时预览起来挺不错的哦;如果你按照本教程刚刚安装好,那么就点击准备好的地址吧 http://127.0.0.1:4567

5 功能展示

创建页面

预览页面

【重要事情说三遍】

不要在windows上折腾gollum!!!

不要在windows上折腾gollum!!!

不要在windows上折腾gollum!!!

亲身经历告诉我,在windows上折腾gollum要命还无法成功;以下简要说明以下痛苦经历:

1、为了能安装gem,需要自己下载ruby的devkit,还好在rubyinstaller网站上有;

2、gollum依赖于很多库,最难装的那个依赖于icu, 所以要去icu官网下载源码自己安装;

3、先安装的那个鬼gem(名字很难记)编译icu经常出现找不到icu的库,需要手动设置 --with-icu-dir='/your/icu/installed/path/'

4、安装好gollum后,启动时报上面那个鬼gem的.so 加载失败,为啥呢? 定位了很久,最后看通过手动irb中require该库,然后看mkmf.log日志中的编译方法,

发现是找不到icu的库,因为编译代码用的-L. ,所以机制的我只能切换到安装icu的lib的目录下去执行gollum,居然就启动成功了,因为对ruby不熟悉,不知道

怎么设置各种gem依赖的动态库的路径,反正设置环境变量LD_LIBRARY_PATH貌似没有效果;

5、不要高兴地太早,就算启动了gollum,去浏览器中打开地址一看,傻眼了,居然ERROR ,,, 看命令行日志是,各种posix spawn在windows上失败,这个是硬伤啊!!!

windows伤不起,晚上回来自己机器上Ubuntu环境下几分钟搞定的事情!!!windows上陆陆续续折腾好几天啊。╮(╯▽╰)╭

【Linux工具】GIT+Gollum在Ubuntu下搭建本地WIKI编辑系统的更多相关文章

  1. Ubuntu下搭建本地WordPress站点

    想在本地搭建WordPress博客站点作测试用?本教程一步一步教您在Linux上搭建一个LAMP(Linux, Apache, MySQL, PHP)服务器并部署WordPress博客. 请注意在复制 ...

  2. Linux之旅-ubuntu下搭建nodejs环境

    .NET Core也开源了,并且可移植到Linux下,而ubuntu作为linux发行版的翘楚,极大的方便了初学者的入门,搭建完ASP.NET Core运行环境后,作为半前半后的开发人员,就继续着搭建 ...

  3. 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台

    最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...

  4. Ubuntu下搭建NodeJS+Express WEB开发框架

    Ubuntu下搭建NodeJS+Express WEB开发框架 2012-12-27 15:06 作者: NodeJSNet 来源: 本站 浏览: 2,966 次阅读 我要评论暂无评论 字号: 大 中 ...

  5. Ubuntu下搭建Hyperledger Fabric v1.0环境

      多次尝试才正常启动了Fabric,如遇到各种莫名错误,请参考如下一步步严格安装,特别用户权限需要注意. 一.安装Ubuntu16 虚拟机或双系统,虚拟机有VirtualBox或者VMware,Ub ...

  6. 在Ubuntu下搭建ASP.NET 5开发环境

    在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...

  7. 如何在Ubuntu下搭建Android NDK开发环境

    1 搭建Android SDK开发环境 参考在在Ubuntu下搭建Android SDK开发环境(图文)首先在Ubuntu下搭建Android SDK开发环境. 2 下载NDK开发包 打开官网: ht ...

  8. Ubuntu下搭建ASP.NET 5

    在Ubuntu下搭建ASP.NET 5开发环境   0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要 ...

  9. deepin/ubuntu下搭建Jekyll环境

    title: deepin/ubuntu下搭建Jekyll环境 最近用github搭建了个博客,正好也学习一下markdown语法,由于markdown写完后不是立即可见,所以每次写完文章都要经过在线 ...

随机推荐

  1. php网站验证码的生成

    <?php header("Content-type:text/html;charset=utf-8"); header("Content-type:image/p ...

  2. KxMenu下拉菜单

    + (void)createMenu:(id)sender target:(UIViewController *)t { NSArray *menuItems = @[ [KxMenuItem men ...

  3. 使用 array_multisort 对多维数组排序

    array_multisort() 函数对多个数组或多维数组进行排序. 用法详看:http://www.w3school.com.cn/php/func_array_multisort.asp 例子: ...

  4. TaskTracker任务初始化及启动task源码级分析

    在监听器初始化Job.JobTracker相应TaskTracker心跳.调度器分配task源码级分析中我们分析的Tasktracker发送心跳的机制,这一节我们分析TaskTracker接受JobT ...

  5. cocos2d-x 在android环境下开发遇到的一些bug

    今天在弄一个关于android环境下解析xml的东东,遇到了2个比较麻烦问题 1.android的apk下文件是压缩文件,io.open模式无法读取到数据的, 解决思路就是: CCFileUtils: ...

  6. [Effective JavaScript 笔记] 第13条:使用立即调用的函数表达式创建局部作用域

    function wrapElements(a){ var res=[],i,n; for(i=0,n=a.length;i<n;i++){ res[i]=function(){return a ...

  7. SQL注入--宽字节注入

    PHP测试代码: <?php // 面向对象写法 $id=addslashes($_GET[‘id’]); //获取id并转义预定义字符 // /$id=$_GET[‘id’]; $mysqli ...

  8. 计蒜客 X的平方根

    X的平方根 设计函数int sqrt(int x),计算x的平方根. 格式: 输入一个数x,输出它的平方根.直到碰到结束符号为止. 千万注意:是int类型哦- 输入可以如下操作: while(cin& ...

  9. 关于DCMTK3.6.1源代码编译的总结

    1.字符集不匹配 解决方法:更改Unicode字符集为多字节字符集 2.oflog.lib(winsock.obj) : error LNK2019: 无法解析的外部符号 错误. 解决方法:更改附加依 ...

  10. 最长递增子序列问题 nyoj 17单调递增最长子序列 nyoj 79拦截导弹

    一,    最长递增子序列问题的描述 设L=<a1,a2,…,an>是n个不同的实数的序列,L的递增子序列是这样一个子序列Lin=<aK1,ak2,…,akm>,其中k1< ...