如何在windows上安装ruby on rails

Python024

如何在windows上安装ruby on rails,第1张

一、下载并安装Ruby

Windows下安装Ruby最好选择 RubyInstaller(一键安装包)。

我们这里下载目前较新的rubyinstaller-1.9.3-p0.exe 一键安装包。这个安装包除了包含ruby本身,还有许多有用的扩展(比如gems)和 帮助文档。

双击安装,安装过程出现如下界面。

这里我们选择安装路径为 D:\Ruby。 下面有3个选项分别是:(1) 是否安装tclTk支持。(2) 添加ruby命令路径到系统环境变量PATH。(3)是否将 .rb 和.rbw 文件关联到Ruby。

这里我们全部打勾。点击“Install” 安装完毕。

打开CMD窗口,运行 ruby -v 显示ruby当前版本号。

你也可以输入 ruby -e 'puts "hello world" ',则显示 hello world。

也可以打开记事本写一段代码如: puts "hello world",保存为 test.rb,然后在CMD中 运行 ruby test.rb 则显示结果 hello world。

我想你不甘心就用记事本来写程序吧,这里推荐一款轻巧的代码编辑器SciTE,支持多种语法高亮显示及高亮导出,且免费开源。以前的RubyInstaller 自带SciTE,而新版需要自己下载。官方地址:scintilla.org windows下有绿色版和安装版,安装版下载 点这里。

安装SciTE后,打开它,我们输入代码 puts "hello world" ,点击菜单=>file=>save 保存文件为test.rb。 然后按键盘F5,右侧输出窗口出现结果。

二、下载并安装RubyGems

RubyGems是一个方便而强大的Ruby程序包管理器,类似RedHat的RPM。它将一个Ruby应用程序打包到一个gem里,作为一个安装单元。 特点:能远程安装包,包之间依赖关系的管理,简单可靠的卸载,查询机制,能查询本地和远程服务器的包信息,能保持一个包的不同版本,基于Web的查看接口,能查看你安装的gem的信息。

从官方下载RubyGems,以zip版本为例,解开压缩包,从CMD提示窗口下进入setup.rb所在目录, 运行 ruby setup.rb 即可安装。

较新的Ruby版本已经包含RubyGems了,因此我们不用手动下载安装了。只需在CMD窗口输入指令:gem update --system ,耐心等待一段时间,已有的RubyGems会更新到目前最新的版本。

三、下载并安装Rails

从CMD提示窗口输入指令:gem install rails 开始安装rails。

如不想安装文档文件,可以输入:gem install rails --no-rdoc --no-ri

程序自动下载并安装rails, 耐心等待。

安装完成后,你可以在路径 D:\Ruby\lib\ruby\gems\1.9.1\gems 看到些东西,都是rails的包文件,与ruby安装在同一目录下。

这时在CMD提示窗口输入指令: rails -v 显示rails的版本号。如图:

四、下载并安装DevKit

DevKit 是windows平台下编译和使用本地C/C++扩展包的工具。它就是用来模拟Linux平台下的make, gcc, sh来进行编译。这个方法目前仅支持通过RubyInstaller安装的Ruby。

下载Devkit:http://rubyinstaller.org/downloads

如果上面的地址打不开,就从这里下载:https://github.com/oneclick/rubyinstaller/downloads/

我们这里使用目前较新的版本 DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe

安装步骤:

1) 将下载 DevKit 解压到 D:\DevKit 目录。

2) 打开 CMD 窗口,进入 D:\DevKit 目录,输入ruby dk.rb init 。#生成config.yml,这里会检查将要添加DevKit支持的Ruby列表,只支持通过RubyInstaller安装的Ruby。

3) 输入 ruby dk.rb install #开始安装。

4) 输入 ruby dk.rb review #检查要添加DevKit支持的Ruby列表是否有误,可以略过。

5) 输入 gem install rdiscount --platform=ruby 。#这一步只是验证DevKit是否安装成功,如果能安装rdiscount成功说明安装DevKit成功,也可以不做。

整个过程如图:

五、创建一个Rails项目

打开CMD提示窗口,进入D盘,输入指令:rails new www ,会在D盘创建名称为www 的rails项目结构。

接着进入www目录,输入指令:rails server ,启动rails自带的 webrick 服务器。

打开浏览器输入地址 http://localhost:3000/ 看到欢迎页面,

下来我们让Rails说 "Hello"

Rails是一个MVC框架,Rails接收来自浏览器的请求,对请求进行解读以找到合适的控制器,再调用控制器中合适的方法。然后,控制调用合适的视图,把结果显示给用户。Rails提供了快速创建视图和控制的方法,打开CMD命令窗口。进入到刚才的www项目目录,输入命令:rails generate controller say hello

下面我打开上图中提示的视图文件,路径是 /项目目录/app/views/say/hello.html.erb

修改为如下形式:

复制代码 代码如下:

<h1>Say#hello</h1>

<p>现在时间是:<%=@time%></p>

注意:将视图文件 hello.html.erb 另存为UTF-8编码格式,否则中文会出现乱码。说明一下是UTF-8编码,而不是 UTF-8 +BOM 编码,BOM 是通过文件开头添加几个字符表示文件编码的标准。但是只有微软用了,x-nix 、PHP、Ruby 不认。

接着打开控制器文件,路径是 /项目目录/app/controllers/say_controller.rb

修改为

复制代码 代码如下:

class SayController <ApplicationController

def hello

@time=Time.now

end

end

打开浏览器访问:http://localhost:3000/say/hello。

如果要更改首页,让首页显示Hello。只需2步:

1) 找到 /项目目录/config/route.rb 文件,查找到这行 # root :to =>'welcome#index' 去掉注释并设置为自己的控制器,修改为 :

root :to =>'say#hello'

2) 删除 /项目目录/public/index.html 文件,因为rails优先读取public目录下的静态文件。

再次访问:http://localhost:3000,首页显示Say#Hello,于上图的内容一致。

六 创建一个使用MySQL数据库的Rails项目

1) 打开CMD窗口,进入D盘,输入命令:rails new work --database Mysql,在D盘创建名称为 work 的rails 项目结构。

2) 必须将libmysql.dll库拷贝到 Ruby安装目录的Bin目录下(D:\Ruby\Bin)。否则在启动服务器时候会提示:“没有找到LIBMYSQL.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。”

下载地址:http://www.mysql.com/downloads/connector/c/

我们这里下载 mysql-connector-c-noinstall-6.0.2-win32.zip ,解压缩,在lib目录里面的libmysql.dll 就是我们要找的。

3) 修改数据库的配置信息。在 /项目目录/config/database.yml 文件中,分别对应 “开发”、“测试”,“生产” 数据库的配置,把他们修改为自己的配置。

其中development是我们开发中要实际使用的数据库。一定要注意在username: 和 password: 后面至少要保留一个空格。

4) 在CMD窗口输入rake db:craete 命令,会在msyql 中创建由配置信息中所设置的数据库。

5) 我们用scaffold来生成代码,在CMD中输入下面指令:

rails generate scaffold post title:string body:string addTime:datetime

这时候会创建controller, views, models和数据库脚本,但此时还没有创建表。

再输入:rake db:migrate 创建表。完成。

6) 执行命令 rails server

本文在Windows7下测试成功。

安装和设置Git

下载Git for

Windows,采用默认安装,安装完成后就可以在本地使用Git了。

但要将内容放到Github上,必须先在Github网站上注册个账户,然后在本机使用Git创建SSH Key。操作如下:

在Git Bash上输入命令:

ssh-keygen -C "[email protected]" -t rsa

Note: “[email protected]”需要更换成你在Github上注册的Email地址或者是Username

这样会在用户目录(C:\Users\用户名)下产生一个.ssh文件夹,里面为对应的SSH

Keys,其中id_rsa.pub是Github需要的SSH公钥文件。

到c:\Users\用户名\.ssh\目录找到id_rsa.pub(可能位置不一定对,但是确认是以.pub结尾的文件),并用记事本打开复制全部内容。

Note:建议私钥公钥的名称最好写成"id_rsa",这样连接Github的时候会找这个文件,如果文件名已定,之后改名也行。

在github网站选择“Account Settings”>>“SSH Public Keys”>>“Add another

public key”,将刚才复制的内容粘贴到key文本框内。

这样就可以直接使用Git和GitHub了。

Note:建议在Git Bash中输入“ssh -v [email protected]”测试能够正常连接github

安装Ruby环境

下载RubyInstaller和DevKit。

因为Octopress需要的Ruby版本为1.9.2,所以选rubyinstaller-1.9.2-p290.exe,DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe。

先安装RubyInstaller,然后解压缩DevKit(路径中不能有中文)。

在“Start Command Prompt with Ruby”命令行中进入DevKit解压缩的目录,然后运行以下命令:

ruby dk.rb init

ruby dk.rb install

gem install rdiscount --platform=ruby

如果安装成功,就可以使用一些Ruby的工具了,也为后面搭建博客提供了基础环境。

安装Octopress

先通过Git从Github上克隆一份Octopress(在Git Bash上输入命令)

git clone git://github.com/imathis/octopress.git octopress

然后安装一些依赖的工具(后面都是在Start Command Prompt with Ruby中输入)

cd octopress

ruby --version # Should report Ruby 1.9.2

gem install bundler

bundle install

安装Octopress默认的Theme

rake install

配置Octopress

将octopress的文件夹下的_config.yml的编码改成UTF-8:

保存(或另存为)时选择编码格式为UTF-8

修改_config.yml,批改url、title、subtitle、author等等。

到Ruby的安装目次\lib\ruby\gems\1.9.1\gems\jekyll-0.11.2\lib\jekyll\找到convertible.rb这个文件,批改self.content

= File.read(File.join(base, name))为self.content = File.read(File.join(base,

name), :encoding =>"utf-8")。

写博文

最简单的方式:复制octopress\source\_posts下某个文件,例如2012-07-30-the-first-post.markdown,修改文件名和文件中的内容

或者,命令行中输入rake

new_post["title"],会创建一个新的Post,新文件在source/_post下,文件名如下面的格式:2012-07-31-title.markdown。该文件可以直接打开修改。

写文章时,可以使用Markdown和Octopress

Plugins等工具对内容进行格式排版。

预览效果

在修改设置或者写完文章后,想看看具体效果,可以通过如下命令来完成:

rake generate

rake preview

将博客部署到Github上

在预览的效果符合自己的预期后,就可以通过如下命令将内容部署到Github上了。

如果是第一次部署,需要在Github上创建一个username.github.com的repository

在github网站选择“Create a New Repo”,如图

填写对应的内容即可

note:Repository

name填写username.github.com,username一定要和github的username一致,建好的博客代表的是你这个github账户的主页即page

配置octopress与github的连接:

进入Octopress目录:

rake setup_github_pages

按照提示填入你的github项目网址,比如:

[email protected]:Username/yourname.github.com.git

note:可以按照上面的修改,也可以在github的项目页中找地址

分发到github上:

rake deploy

第一次运行时,会询问是否建立对github的授权,输入:yes。然后将站点更新的内容推送到github上。

补充一点:

最后的但并不是最重要的,我们需要将修改的日志同步到github上,因此下面的3个命令也是必须的。

git status

git add .

git commit -m 'your message'

git push origin source

大功告成!

在github pages网站下用jekyll制作博客教程

在我动手用jekyll部署我的博客之前,一直使用godaddy上面的wordpress主页来部署我的博客kresnik.co。WordPress当然有很多的优点,在我看来我用WordPress主要是为了

方便清晰的文件结构

可以随意选用的各种模板和插件

相对便宜的部署价格

因为这些优点,所以我想我还会在WordPress官网上继续保留我的免费博客。

既然这样,看官想必想问为什么要换成jekyll来重新部署博客?我简单的总结了一下:

流行又简洁的MarkDown写作语法

轻量级的网站结构,不再有动态网站的沉重

方便的和github pages结合,不仅免费,而且方便

所以对比与WordPress的沉重,jekyll让你回归到创作本身,当然如果你喜欢折腾,jekyll也绝对不会让你失望。推荐下面几个站点亮一下。

rusty shutter

Rasmus Andersson

安装流程

要用github pages,首先要在github中建立一个基于你的用户名的repository: 比如说我,就要建立名为kresnikwang.github.io的repo。在以前的github版本中还需要在后台开启pages的功能,现在系统检测到这样的repo名称之后,会在setting中自动开启GitHub Pages的功能,如下图: 这样之后你就可以把这个repo克隆到本地随意进行修改了,在这个里面上传的网页就是你的网站的内容了,可以上传一个index.html试一试,这就是你的网站主页了。 关于GiuHub的使用,可以看几个比较好的入门教程:GitHub

之后我们就要在本地部署jekyll,jekyll的原理很简单。这是一个已经合成好的静态html网站结构,你用这个结构在username,http://github.io文件夹里面粘帖好所有文件。再把更新完的本地repo推送到GitHub的master branch里面,你的网站就更新建设完毕了。 首先你需要ruby来使用本地jekyll。Mac和Linux可以用Terminal配合yum或者brew这样的包管理器很方便的安装ruby。Windows下更是方便,可以直接中集成好的Ruby installer来进行安装,文章里的就是传送门。

安装完ruby,之后就是要安装RubyGems,gem是一个ruby的包管理系统,可以用gem很方便的在本地安装ruby应用。

安装方法

//在RubyGems官网上下载压缩包,解压到你的本地任意位置

//在Terminal中

cd yourpath to RubyGems //你解压的位置

ruby setup.rb

有了gem之后安装jekyll就很容易了,其实用过nodejs和npm的同学应该很熟悉这样的包安装,真是这个世界手残脑残们的救星。。。。。(楼主不自觉的摸了摸自己快残了的手) 安装jekyll,有了gem,直接在Terminal里面输入以下代码:

$ gem install jekyll

好了,现在你的电脑已经准备完毕了。如果你是想自己捣鼓,可以根据这样的目录结构在你的http://username.github.io文件夹下建立以下目录结构:

├── _config.yml

├── _drafts

| ├── begin-with-the-crazy-ideas.textile

| └── on-simplicity-in-technology.markdown

├── _includes

| ├── footer.html

| └── header.html

├── _layouts

| ├── default.html

| └── post.html

├── _posts

| ├── 2007-10-29-why-every-programmer-should-play-nethack.textile

| └── 2009-04-26-barcamp-boston-4-roundup.textile

├── _site

└── index.html

你可以一个个依次建立起来,然后在自己编写一个你想要的博客。

如果你只是个普通用户,只是想要一个模板然后开始写自己的博客。那就很容易了,有几个可以简单开始的模板。

poole/poole · GitHub极简风格的模板

Jekyll Themes jekyll的模板网站,可以找到各式各样你喜欢的模板。

下载完了模板,可以吧里面的内容解压到你自己的网站目录底下。这时候你可以测试一下:

$ cd you website path //cd到你的网站目录下

$ jekyll serve

//一个开发服务器将会运行在 http://localhost:4000/

//你就能在本地服务器看到你用模板搭建的网站了

这时候可以看一下jekyll的设置,让你把模板变成你自己个性化的内容。在网站根目录下面找到_config.yml,这里会有几个比较关键的设置: 里面的permalink 就是你博客文章的目录结构,可以用pretty来简单的设置成日期+文章标题.html,也可以用自己喜欢的结构来设置。 记得把encoding 设置成utf-8,这样有利于中英文双语的写作和阅读。

到这里你就可以开始写博客了,所有的文章直接放在_posts文件夹下面,格式就是我们之前提到的markdown文件,默认的格式是.md和.markdown文件。每篇文章的开始处需要使用yml格式来写明这篇文章的简单介绍,格式如下:

---

author: kresnikwang

comments: true

date: 2015-04-28 17:42:32+00:00

layout: post

title: PHP, Angular JS Development|My Export Quote|农产品出口工具开发

categories:

- Works

- Tech

tags:

- bootstrap

- javascript

- php

- AngularJS

---

layout就是post,让jekyll知道你这是一篇post,很直观。需要注意的是里面的date,必须按照yml的语法来写,否则就会出现编译错误。可以只用YYYY-MM-DD来显示日期,也可以像我一样在后面加上 HH:MM:SS+00:00 来表示更具体的时间。

到此为止可以开始尽情的写博客了,用GitHub软件同步到你的repository里面,网站上面就可以进行正常的显示了。如果说要添加一下有用的extra功能的话,评论和相关文章这两个功能比较多人会关注。 评论我们可以用Disqus国内应该也有类似的网站,到Disqus注册一个账号,选择添加评论区域到自己的网页,你将会的得到类似的代码:

<!-- Add Disqus comments. -->

<div id="disqus_thread"></div>

<script type="text/javascript">

/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */

var disqus_shortname = '<USERNAME>'// required: replace example with your forum shortname

var disqus_identifier = "/works/tech/2016/06/07/%E5%9C%A8github%20pages%E7%BD%91%E7%AB%99%E4%B8%8B%E7%94%A8jekyll%E5%88%B6%E4%BD%9C%E5%8D%9A%E5%AE%A2%E6%95%99%E7%A8%8B.html"

/* * * DON'T EDIT BELOW THIS LINE * * */

(function() {

var dsq = document.createElement('script')dsq.type = 'text/javascript'dsq.async = true

dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'

(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq)

})()

</script>

<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>

<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

根据不同的模板,把代码添加到_post/post.html或者_include/post.html里你的文章底下,那当这篇文章被访问时,下方就会有评论区了

相关文章的功能也比较好做,jekyll本来就集成了site.related_posts的功能,自动会寻找相关内容的文章,在你的post代码下面融入以下代码:

<aside class="related">

<h2>Related Posts</h2>

<ul class="related-posts">

<li>

<h3>

<a href="http://kresnikwang.github.io///journey/2015/06/05/kresnik.co-%E5%8D%9A%E5%AE%A2%E6%90%AC%E5%AE%B6%E5%91%8A%E7%A4%BA.html">

kresnik.co博客搬家告示

<small><time datetime="2015-06-05T00:00:00+00:00">05 Jun 2015</time></small>

</a>

</h3>

</li>

<li>

<h3>

<a href="http://kresnikwang.github.io///tech/2015/06/02/javascript-include-html-page-by-jquery.html">

Javascript Include Html Page By Jquery

<small><time datetime="2015-06-02T18:45:42+00:00">02 Jun 2015</time></small>

</a>

</h3>

</li>

<li>

<h3>

<a href="http://kresnikwang.github.io///tech/2015/05/31/Github-use-http-instead-of-git.html">

Github设置,强制使用"https://" 来代替 "git://"

<small><time datetime="2015-05-31T05:03:36+00:00">31 May 2015</time></small>

</a>

</h3>

</li>

</ul>

</aside>

你每篇文章下面就会有三个相关文章的链接了。

这篇教程就到这里,有机会我想再写写liquid语法制作jekyll模板的内容和从wordpress导入文章到jekyll来的方法。喜欢能有些用处,感谢。

附上出处链接:https://www.zhihu.com/question/23934523