在ubuntu on windows 上安装jekyll
已知问题
安装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以下大把的都是
尝试了两种解决方案
- 使用 https://launchpad.net/~brightbox/+archive/ubuntu/ruby-ng这里给出的方案,能够安装,但在使用gem安装的程序过程中,出现找不到命令的问题,应该时哪个地方配置除了问题了,对linux了解不多,没有多费心寻找解决方案。不过看样子应该时可行方案之一。
- 使用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
参考
- https://github.com/Microsoft/BashOnWindows
- https://rvm.io/rvm/install
- https://msdn.microsoft.com/en-us/commandline/wsl/install_guide
- https://msdn.microsoft.com/en-us/commandline/wsl/reference
在ubuntu on windows 上安装jekyll的更多相关文章
- Windows 上安装 Jekyll.
Jekyll是一个静态网站生成工具.它允许用户使用HTML.Markdown或Textile来建立静态页面,然后通过模板引擎Liquid(Liquid Templating Engine)来运行. 原 ...
- Windows上安装Jekyll
Jekyll是什么 jekyll是一个简单的免费的Blog生成工具,是一个静态站点生成器, 它会根据网页源码生成静态文件.它提供了模板.变量.插件等功能,所以实际上可以用来编写整个网站.也可使用基于j ...
- 在 Windows 系统上安装 Jekyll
目录 安装 Ruby 环境 用 Bundler 安装 Jekyll 本文是写给完全未用过 Ruby 乃至命令行工具者的.对于一般的开发者,Jekyll 官方文档的相关内容已然足够. 本文为钱院学辅技术 ...
- Git学习系列之Windows上安装Git详细步骤(图文详解)
前言 最初,Git是用于Linux下的内核代码管理.因为其非常好用,目前,已经被成功移植到Mac和Windows操作系统下. 鉴于大部分使用者使用的是Windows操作系统,故,这里详细讲解Windo ...
- Bash On Windows上安装JDK
1. 引言 由于实习生转正,公司给配了一台新电脑,配置不用多说,16G内存,i7-7700的CPU,128SSD的系统盘,1T的机械硬盘,虽然只有一个破核显.对于我个人而言,最重要的是系统从Windo ...
- Ubuntu 14.04 上安装 Gurobi
参考: Installing Gurobi 7 on Linux Ubuntu 14.04 上安装 Gurobi 1.在gurobi上创建一个账户,并登陆: 2.从gurobi optimizer上下 ...
- windows下安装jekyll
jekyll在其官方网站上说并不建议在windows操作系统安装,可是我们已经在windows环境下操作比较习惯了,而安装linux或mac的成本又比较高.因此,虽然在windows安装jekyll的 ...
- # 【ARM-Linux开发】在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): 【Linux开发】 --- > 一段时间以来,一直是在Windows上安装虚拟机
[ARM-Linux开发]在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): [Linux开发] 一段时间以来,一直是在Windows上安装虚拟机,然后安装Ubuntu ...
- 在Windows上安装Elasticsearch 5.0
在windows上安装Elasticsearch Elasticsearch可以使用.zip软件包安装在Windows上. elasticsearch-service.bat命令,它将设置Elasti ...
随机推荐
- SVN备份教程(一)
最近一段时间在项目中用到了SVN备份的相关内容,这里给大家做一个简单的教程,重点在于SVN备份环境的搭建过程中,大家学到的解决问题的思维方式. 1.分类 SVN备份主要分为两种:一种是远程备份,另一种 ...
- linux常用命令及安装软件命令
1.查看操作系统是33位还是64最简单的方法 getconf LONG_BIT 或者 uname -a 2.常用命令 2.1基本操作 clear 清屏 2.2安装命令 rpm(redhat packa ...
- 在系统方法中调用navigationController的标准写法
在系统方法中调用navigationController的标准写法 -(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animat ...
- MapReduce工作原理图文详解 (炼数成金)
MapReduce工作原理图文详解 1.Map-Reduce 工作机制剖析图: 1.首先,第一步,我们先编写好我们的map-reduce程序,然后在一个client 节点里面进行提交.(一般来说可以在 ...
- 浅谈Javascript 数组与字典
Javascript 的数组Array,既是一个数组,也是一个字典(Dictionary). 先举例看看数组的用法. var a = new Array(); a[0] = "Acer&q ...
- PAT-乙级-1032. 挖掘机技术哪家强(20)
1032. 挖掘机技术哪家强(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 为了用事实说明挖掘机技术到底 ...
- 团体程序设计天梯赛-练习集L1-021. 重要的话说三遍
L1-021. 重要的话说三遍 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 这道超级简单的题目没有任何输入. 你只需要把这句 ...
- 获取Android系统时间
目的: 输入 2014-09-09 14:02:03 输出 等待:1小时20分 注意: HH:mm:ss 为获取手机 24小时格式的时间 15:03 hh:mm:ss 为12小时模式的时 ...
- Java 另一道构造器与构造器重载的题目
题目: 请写出以下程序的输出结果 public class ConstructorTest2 { public static void main(String[] args) { new B(&quo ...
- Java将整个文件夹里的文本中的字符串替换成另外一个字符串(可用于项目复制,变成另一个项目)
import org.junit.Test; import java.io.*; /** * User: HYY * Date: 13-8-18 * Time: 下午8:11 * To change ...