已知问题

安装ruby之后,重新启动ubuntu on windows,输入ruby命令,提示找不到。

发现的解决办法 执行下面命令

source /home/xxxx/.rvm/scripts/rvm

把xxxx换成自己的用户名


为什么热衷于折腾jekyll呢,因为他们网站下面有句话 GitHub Pages are powered by Jekyll

戳开有惊喜。

环境

使用Ubuntu On Windwos,戳这里了解详细信息

这里讲述怎么打开ubuntuOnWindows

在使用过程中,感觉这货就像是windows上的一个软件,非常方便。

假如说你把这货玩儿坏了,可以使用命令

lxrun /uninstall /full

进行卸载

然后使用命令

lxrun /install

进行安装。

更多命令参见https://msdn.microsoft.com/en-us/commandline/wsl/reference

安装方法

本来想着在ubuntu上安装ruby,有啥好难的,使用 sudo apt-get install ruby不能就安装好了?

我开始也是这么想的……

如果你看到了这篇文章,没准儿你碰到了跟我一样的问题。

撰写本文时,通过上面的命令,只能安装1.9.3这个版本的,but最新版本的ruby已经2.3了,jekyll也已经嫌弃这个版本了……

然后开始各种百度、谷歌查找怎么解决,费老劲了。忍不住在吐槽一项百度,垃圾呀……怪不得费尽心机把谷歌弄出去,不然早倒闭了。广告也就忍了,检索出来基本没啥有用的东西。

安装ruby

嗯~~在开搞之前,一定要先把ubuntu的源给修改成国内的源,不然会是非常漫长的过程,具体步骤google以下大把的都是

尝试了两种解决方案

  1. 使用 https://launchpad.net/~brightbox/+archive/ubuntu/ruby-ng这里给出的方案,能够安装,但在使用gem安装的程序过程中,出现找不到命令的问题,应该时哪个地方配置除了问题了,对linux了解不多,没有多费心寻找解决方案。不过看样子应该时可行方案之一。
  2. 使用rvm安装,Ruby enVironment (Version) Manager (RVM)07年出现的东西,用起来很省心,中间需要两次输入密码进行授权。戳这里有安装教程 我用的这个。

ruby安装完成之后,需要安装ruby-dev,执行命令 rvm install ruby-dev就能安装好了

安装jekyll

http://jekyllrb.com/

直接照着上面的安装就好了,新版本的貌似要安装bundler,不知道干啥用的。

只使用命令 jekyll server --force 看起来一样正常 。

这里最好把gem的源设置成国内的,不然可能会碰到伟大的长城。

我用的是这个 http://mirrors.aliyun.com/rubygems/

下面是具体设置步骤

gem sources --remove https://rubygems.org/

gem sources -a https://ruby.taobao.org/ 据说淘宝的已经停止维护了,ssl证书貌似除了问题

gem sources --add http://mirrors.aliyun.com/rubygems/

gem sources -l

异常处理

bundle install时如果碰到以下错误

Error details

ArgumentError: parent directory is world writable but not sticky
/home/ubuntu/.rvm/rubies/ruby-2.3.0-dev/lib/ruby/2.3.0/tmpdir.rb:93:in `ensure in mktmpdir'
/home/ubuntu/.rvm/rubies/ruby-2.3.0-dev/lib/ruby/2.3.0/tmpdir.rb:95:in `mktmpdir'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/vendor/compact_index_client/lib/compact_index_client/updater.rb:29:in `update'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/vendor/compact_index_client/lib/compact_index_client.rb:64:in `update'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/vendor/compact_index_client/lib/compact_index_client.rb:55:in `update_and_parse_checksum
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/fetcher/compact_index.rb:65:in `available?'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/fetcher/compact_index.rb:15:in `call'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/fetcher/compact_index.rb:15:in `block in compact_index_request'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/fetcher.rb:154:in `use_api'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/source/rubygems.rb:331:in `block in api_fetchers'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/source/rubygems.rb:331:in `select'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/source/rubygems.rb:331:in `api_fetchers'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/source/rubygems.rb:336:in `block in remote_specs'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/index.rb:10:in `build'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/source/rubygems.rb:335:in `remote_specs'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/source/rubygems.rb:82:in `specs'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/definition.rb:211:in `block (2 levels) in index'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/definition.rb:209:in `each'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/definition.rb:209:in `block in index'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/index.rb:10:in `build'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/definition.rb:206:in `index'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/definition.rb:200:in `resolve'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/definition.rb:140:in `specs'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/definition.rb:129:in `resolve_remotely!'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/installer.rb:195:in `resolve_if_need'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/installer.rb:70:in `run'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/installer.rb:22:in `install'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/cli/install.rb:102:in `run'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/cli.rb:175:in `install'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/cli.rb:11:in `start'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/exe/bundle:27:in `block in <top (required)>'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/lib/bundler/friendly_errors.rb:98:in `with_friendly_errors'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/gems/bundler-1.12.5/exe/bundle:19:in `<top (required)>'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/bin/bundle:23:in `load'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/bin/bundle:23:in `<main>'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/bin/ruby_executable_hooks:15:in `eval'
/home/ubuntu/.rvm/gems/ruby-2.3.0-dev/bin/ruby_executable_hooks:15:in `<main>' Environment Bundler 1.12.5
Rubygems 2.5.1
Ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
GEM_HOME /home/ubuntu/.rvm/gems/ruby-2.3.0-dev
GEM_PATH /home/ubuntu/.rvm/gems/ruby-2.3.0-dev:/home/ubuntu/.rvm/gems/ruby-2.3.0-dev@global
RVM 1.27.0 (latest)
Git 1.9.1
rubygems-bundler (1.4.4)

尝试使用 find ~/.bundle/cache -type d -exec chmod 0755 {} +,参考 https://github.com/bundler/bundler/issues/4599


jekyll server时如果你遇到如下错误

jekyll 3.2.1 | Error: Invalid argument - Failed to watch ".sass-cache/5273553f1fac615ec884d08d8e7307b8700e1583": the given event mask contains no legal events; or fd is not an inotify file descriptor.

尝试使用 jekyll server --force ,参考 https://github.com/jekyll/jekyll/issues/5233

参考

  1. https://github.com/Microsoft/BashOnWindows
  2. https://rvm.io/rvm/install
  3. https://msdn.microsoft.com/en-us/commandline/wsl/install_guide
  4. https://msdn.microsoft.com/en-us/commandline/wsl/reference

在ubuntu on windows 上安装jekyll的更多相关文章

  1. Windows 上安装 Jekyll.

    Jekyll是一个静态网站生成工具.它允许用户使用HTML.Markdown或Textile来建立静态页面,然后通过模板引擎Liquid(Liquid Templating Engine)来运行. 原 ...

  2. Windows上安装Jekyll

    Jekyll是什么 jekyll是一个简单的免费的Blog生成工具,是一个静态站点生成器, 它会根据网页源码生成静态文件.它提供了模板.变量.插件等功能,所以实际上可以用来编写整个网站.也可使用基于j ...

  3. 在 Windows 系统上安装 Jekyll

    目录 安装 Ruby 环境 用 Bundler 安装 Jekyll 本文是写给完全未用过 Ruby 乃至命令行工具者的.对于一般的开发者,Jekyll 官方文档的相关内容已然足够. 本文为钱院学辅技术 ...

  4. Git学习系列之Windows上安装Git详细步骤(图文详解)

    前言 最初,Git是用于Linux下的内核代码管理.因为其非常好用,目前,已经被成功移植到Mac和Windows操作系统下. 鉴于大部分使用者使用的是Windows操作系统,故,这里详细讲解Windo ...

  5. Bash On Windows上安装JDK

    1. 引言 由于实习生转正,公司给配了一台新电脑,配置不用多说,16G内存,i7-7700的CPU,128SSD的系统盘,1T的机械硬盘,虽然只有一个破核显.对于我个人而言,最重要的是系统从Windo ...

  6. Ubuntu 14.04 上安装 Gurobi

    参考: Installing Gurobi 7 on Linux Ubuntu 14.04 上安装 Gurobi 1.在gurobi上创建一个账户,并登陆: 2.从gurobi optimizer上下 ...

  7. windows下安装jekyll

    jekyll在其官方网站上说并不建议在windows操作系统安装,可是我们已经在windows环境下操作比较习惯了,而安装linux或mac的成本又比较高.因此,虽然在windows安装jekyll的 ...

  8. # 【ARM-Linux开发】在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): 【Linux开发】 --- > 一段时间以来,一直是在Windows上安装虚拟机

    [ARM-Linux开发]在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): [Linux开发] 一段时间以来,一直是在Windows上安装虚拟机,然后安装Ubuntu ...

  9. 在Windows上安装Elasticsearch 5.0

    在windows上安装Elasticsearch Elasticsearch可以使用.zip软件包安装在Windows上. elasticsearch-service.bat命令,它将设置Elasti ...

随机推荐

  1. SVN备份教程(一)

    最近一段时间在项目中用到了SVN备份的相关内容,这里给大家做一个简单的教程,重点在于SVN备份环境的搭建过程中,大家学到的解决问题的思维方式. 1.分类 SVN备份主要分为两种:一种是远程备份,另一种 ...

  2. linux常用命令及安装软件命令

    1.查看操作系统是33位还是64最简单的方法 getconf LONG_BIT 或者 uname -a 2.常用命令 2.1基本操作 clear 清屏 2.2安装命令 rpm(redhat packa ...

  3. 在系统方法中调用navigationController的标准写法

    在系统方法中调用navigationController的标准写法 -(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animat ...

  4. MapReduce工作原理图文详解 (炼数成金)

    MapReduce工作原理图文详解 1.Map-Reduce 工作机制剖析图: 1.首先,第一步,我们先编写好我们的map-reduce程序,然后在一个client 节点里面进行提交.(一般来说可以在 ...

  5. 浅谈Javascript 数组与字典

    Javascript 的数组Array,既是一个数组,也是一个字典(Dictionary). 先举例看看数组的用法. var a = new Array();  a[0] = "Acer&q ...

  6. PAT-乙级-1032. 挖掘机技术哪家强(20)

    1032. 挖掘机技术哪家强(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 为了用事实说明挖掘机技术到底 ...

  7. 团体程序设计天梯赛-练习集L1-021. 重要的话说三遍

    L1-021. 重要的话说三遍 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 这道超级简单的题目没有任何输入. 你只需要把这句 ...

  8. 获取Android系统时间

    目的: 输入 2014-09-09 14:02:03    输出 等待:1小时20分 注意: HH:mm:ss 为获取手机 24小时格式的时间  15:03    hh:mm:ss 为12小时模式的时 ...

  9. Java 另一道构造器与构造器重载的题目

    题目: 请写出以下程序的输出结果 public class ConstructorTest2 { public static void main(String[] args) { new B(&quo ...

  10. Java将整个文件夹里的文本中的字符串替换成另外一个字符串(可用于项目复制,变成另一个项目)

    import org.junit.Test; import java.io.*; /** * User: HYY * Date: 13-8-18 * Time: 下午8:11 * To change ...