在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 ...
随机推荐
- WPF 自定义窗口标题栏
1.建一个WPF资源词典,在其中定义窗口样式,并在App.xaml中指定其为程序资源 2.写一个继续自windows的类,并指定这个类的Style为第一步资源里的样式 3.新建窗口时,分别把xaml文 ...
- iisapp appcmd
C:\Windows\System32\inetsrv>appcmd list wp
- python学习笔记25(文件管理 os包)
os包我们经常会与文件和目录打交道,对于这些操作python提供了一个os模块,里面包含了很多操作文件和目录的函数.如果你对linux基本操作了解的话,下面的一些os方法应该会很熟悉的,因为基本和li ...
- 30分钟让你了解MongoDB基本操作
今天记录下MongoDB的基本操作,这只是最基本的,所以是应该掌握的. 数据库 数据库是一个物理容器集合.每个数据库都有自己的一套文件系统上的文件.一个单一的MongoDB服务器通常有多个数据库. 集 ...
- zoj 3720
为什么注释掉的地方是错的? 自己的代码好糟烂..... 直接枚举点 判是否在多边形内 加起来求概率 求面积的时候代码写搓了.... 比不过别人两行的代码 而且到现在还找不到错 ...
- "Principles of Reactive Programming" 之<Actors are Distributed> (3)
Cluster 讲课的这哥们接下来讲了下Akka Cluster的使用,但是是通过把一个以前讲过的actor 系统改成使用cluster来介绍的Akka cluster. 这部分代码很多,还是直接看视 ...
- Flume学习——Flume的架构
Flume有三个组件:Source.Channel 和 Sink.在源码中对应同名的三个接口. When a Flume source receives an event, it stores it ...
- unity3d与eclipse集成开发android应用
原地址:http://blog.csdn.net/armoonwei/article/details/7032537 Unity as a Library Once you have eclipse ...
- mysql数据库备份执行计划
为什么需要数据备份?如果数据库因为人为或其他不可控的因素导致数据库数据丢失或损坏,导致的后果将会非常严重. 为什么需要执行计划?备份操作如果每天人工管理的话,将会非常麻烦,需要借助工具来制定执行计划, ...
- hdu 3929 Big Coefficients 容斥原理
看懂题目,很容易想到容斥原理. 刚开始我用的是二进制表示法实现容斥原理,但是一直超时.后来改为dfs就过了…… 代码如下: #include<iostream> #include<s ...