【Linux工具】GIT+Gollum在Ubuntu下搭建本地WIKI编辑系统
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编辑系统的更多相关文章
- Ubuntu下搭建本地WordPress站点
想在本地搭建WordPress博客站点作测试用?本教程一步一步教您在Linux上搭建一个LAMP(Linux, Apache, MySQL, PHP)服务器并部署WordPress博客. 请注意在复制 ...
- Linux之旅-ubuntu下搭建nodejs环境
.NET Core也开源了,并且可移植到Linux下,而ubuntu作为linux发行版的翘楚,极大的方便了初学者的入门,搭建完ASP.NET Core运行环境后,作为半前半后的开发人员,就继续着搭建 ...
- 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台
最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...
- Ubuntu下搭建NodeJS+Express WEB开发框架
Ubuntu下搭建NodeJS+Express WEB开发框架 2012-12-27 15:06 作者: NodeJSNet 来源: 本站 浏览: 2,966 次阅读 我要评论暂无评论 字号: 大 中 ...
- Ubuntu下搭建Hyperledger Fabric v1.0环境
多次尝试才正常启动了Fabric,如遇到各种莫名错误,请参考如下一步步严格安装,特别用户权限需要注意. 一.安装Ubuntu16 虚拟机或双系统,虚拟机有VirtualBox或者VMware,Ub ...
- 在Ubuntu下搭建ASP.NET 5开发环境
在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...
- 如何在Ubuntu下搭建Android NDK开发环境
1 搭建Android SDK开发环境 参考在在Ubuntu下搭建Android SDK开发环境(图文)首先在Ubuntu下搭建Android SDK开发环境. 2 下载NDK开发包 打开官网: ht ...
- Ubuntu下搭建ASP.NET 5
在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要 ...
- deepin/ubuntu下搭建Jekyll环境
title: deepin/ubuntu下搭建Jekyll环境 最近用github搭建了个博客,正好也学习一下markdown语法,由于markdown写完后不是立即可见,所以每次写完文章都要经过在线 ...
随机推荐
- php网站验证码的生成
<?php header("Content-type:text/html;charset=utf-8"); header("Content-type:image/p ...
- KxMenu下拉菜单
+ (void)createMenu:(id)sender target:(UIViewController *)t { NSArray *menuItems = @[ [KxMenuItem men ...
- 使用 array_multisort 对多维数组排序
array_multisort() 函数对多个数组或多维数组进行排序. 用法详看:http://www.w3school.com.cn/php/func_array_multisort.asp 例子: ...
- TaskTracker任务初始化及启动task源码级分析
在监听器初始化Job.JobTracker相应TaskTracker心跳.调度器分配task源码级分析中我们分析的Tasktracker发送心跳的机制,这一节我们分析TaskTracker接受JobT ...
- cocos2d-x 在android环境下开发遇到的一些bug
今天在弄一个关于android环境下解析xml的东东,遇到了2个比较麻烦问题 1.android的apk下文件是压缩文件,io.open模式无法读取到数据的, 解决思路就是: CCFileUtils: ...
- [Effective JavaScript 笔记] 第13条:使用立即调用的函数表达式创建局部作用域
function wrapElements(a){ var res=[],i,n; for(i=0,n=a.length;i<n;i++){ res[i]=function(){return a ...
- SQL注入--宽字节注入
PHP测试代码: <?php // 面向对象写法 $id=addslashes($_GET[‘id’]); //获取id并转义预定义字符 // /$id=$_GET[‘id’]; $mysqli ...
- 计蒜客 X的平方根
X的平方根 设计函数int sqrt(int x),计算x的平方根. 格式: 输入一个数x,输出它的平方根.直到碰到结束符号为止. 千万注意:是int类型哦- 输入可以如下操作: while(cin& ...
- 关于DCMTK3.6.1源代码编译的总结
1.字符集不匹配 解决方法:更改Unicode字符集为多字节字符集 2.oflog.lib(winsock.obj) : error LNK2019: 无法解析的外部符号 错误. 解决方法:更改附加依 ...
- 最长递增子序列问题 nyoj 17单调递增最长子序列 nyoj 79拦截导弹
一, 最长递增子序列问题的描述 设L=<a1,a2,…,an>是n个不同的实数的序列,L的递增子序列是这样一个子序列Lin=<aK1,ak2,…,akm>,其中k1< ...