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
安装redmine时候, 中途出现以下错误:控制台代码
rake config\initializers\session_store.rb
Please install RDoc 2.4.2+ to generate documentation.
rake aborted!
Don't know how to build task 'config\initializers\session_store.rb'
按照上述提示,需要安装rdoc,可是安装rdoc,又必须安装DevKit,具体安装步骤如下:
从rubyinstaller 的网站下载DevKit,并解压到硬盘上,比如c:\DevKit目录下。
在控制台下,执行以下命令。
控制台代码
cd <DEVKIT_INSTALL_DIR>
ruby dk.rb init
ruby dk.rb install
上述命令执行完毕之后,就可以安装rdoc了。
控制台代码
gem install rdoc
参照网页:
https://github.com/oneclick/rubyinstaller/wiki/Development-Kit
一、概要iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库(从一个坑出来,又进了另一个坑而已……)。
二、安装
由于网上的教程基本都大同小异,但细节之处还不是很完善,所以借机会在这里补充下:
注:要使用CocoaPods,那就要下载安装它,而下载安装CocoaPods需要Ruby环境
1、Ruby环境搭建
当前安装环境为Mac mini 10.8.5。Mac OS本身自带Ruby,但还是更新一下保险,因为我第一次安装在没有更新Ruby的情况下就失败了。
a 查看下当前ruby版本:打开终端输入 ruby -v(确实安装了,不过用这个版本接下来工作失败了,所以更新下ruby)
[objc] view plain copy print?
ritekiMac-mini:PodTest lucky$ ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
ritekiMac-mini:PodTest lucky$
b 更新ruby
终端输入如下命令(把Ruby镜像指向taobao,避免被墙,你懂得)
gem sources --remove https://rubygems.org/
gem sources -a http://ruby.taobao.org/
gem sources -l (用来检查使用替换镜像位置成功)
[objc] view plain copy print?
ritekiMac-mini:~ lucky$ gem sources --remove https://rubygems.org/
https://rubygems.org/ removed from sources
ritekiMac-mini:~ lucky$ gem sources -a http://ruby.taobao.org/
http://ruby.taobao.org/ added to sources
ritekiMac-mini:~ lucky$ gem sources -l
*** CURRENT SOURCES ***
补充:(2016-01-20更新)
淘宝已经关闭HTTP协议的景象服务,改为HTTPS协议。
淘宝ruby地址:https://ruby.taobao.org/
2、下载安装CocoaPods
终端输入:sudo gem install cocoapods
[html] view plain copy print?
ritekiMac-mini:~ lucky$ sudo gem install cocoapods
CHANGELOG:
## 0.32.1
##### Bug Fixes
* Fixed the Podfile `default_subspec` attribute in nested subspecs.
[Fabio Pelosin][irrationalfab]
\ [#2050](https://github.com/CocoaPods/CocoaPods/issues/2050)
Successfully installed cocoapods-0.32.1
Installing ri documentation for cocoapods-0.32.1
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:280: warning: conflicting chdir during another chdir block
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:287: warning: conflicting chdir during another chdir block
Done installing documentation for cocoapods after 10 seconds
1 gem installed
这样就下载安装好了CocoaPods
3、使用CocoaPods
a 新建一个项目,名字PodTest
b 终端中,cd到项目总目录(注意:包含PodTest文件夹、PodTest.xcodeproj、PodTestTest的那个总目录)
[objc] view plain copy print?
cd /Users/lucky/Desktop/PodTest
c 建立Podfile(配置文件)
接着上一步,终端输入 vim Podfile
键盘输入 i,进入编辑模式,输入
platform :ios, ‘7.0‘
pod ‘MBProgressHUD‘, ‘~>0.8‘
然后按Esc,并且输入“ :”号进入vim命令模式,然后在冒号后边输入wq
注意:键盘输入 :后,才能输入wq。回车后发现PodTest项目总目录中多一个Podfile文件
激动人心的时刻到了:确定终端cd到项目总目录,然后输入 pod install,等待一会,大约3分钟。
查看项目根目录:
注意:现在打开项目不是点击 PodTest.xodeproj了,而是点击 PodTest.xcworkspace
对于工程发生的变化,有几点需要说明:
a、第三方库会以成静态库方式引入工程使用
CocoaPods会将所有的第三方库以target的方式组成一个名为Pods的工程,该工程就放在刚才新生成的Pods目录下。整个第三方库工程会生成一个名称为libPods.a的静态库提供给工程使用。
b、xcworkspace(PodTest.xcworkspace)的作用是管理工程和第三方库
PodTest工程和Pods工程被以workspace的形式组织和管理。
打开项目后看到项目结构并且测试一下:
运行结果:
补充:
1、CocoaPods的基本安装及使用都详细的说明了,但还有一些补充,当需要同时导入多个第三方时候怎么办 ?
这就需要修改Podfile了,就是用vim编辑的那个保存在项目根目录中的文件,修改完了Podfile文件,需要重新执行一次pod install命令。
例如:
platform :ios
pod ‘JSONKit‘, ‘~>1.4‘
pod ‘AFNetworking‘, ‘~>2.0‘
2、CocoaPods可以查找你想要的第三方库
终端输入命令:pod search UI
疯了了,我怎么查找这么大众的关键字,好多库~~
然后重新编辑Podfile文件,按照之前的步骤,把更多的库都导入项目!
3、上文中“建立Podfile(配置文件)接着上一步,终端输入 vim Podfile”步骤,如果不习惯使用vim编辑器,也可以使用linux命令touch,生成一个空的Podfile文件,然后使用其他的文本编辑器都可以,例如:
[objc] view plain copy print?
lizhongfudeMacBook-Pro:~ lizhongfu$ cd /Users/lizhongfu/Desktop/TestProject
lizhongfudeMacBook-Pro:TestProject lizhongfu$ touch Podfile
编辑好Podfile文件后,就可以执行pod install第三方导入了(详见:补充第1条),CocoaPods就开始为我们做下载源码、配置依赖关系、引入需要的framework等一些列工作。
4、如果已经生成了CocoaPods管理的工程,则可以在Xcode中编辑Podfile,编辑保存后,别忘记cd到根目录,调用pod install命令
5、项目存在多个Target的时候,需要配置Podfile文件来支持新增加的Target,否则只支持项目默认建立时生成的Target:
a、如果新建一个Target,命名为Second,并且Second与Test两个Target所需要的第三方支持相同,也就是使用相同的Pods依赖库,则可以使用
link_with关键字:
[objc] view plain copy print?
link_with ‘Test‘, ‘Second‘
platform :ios
platform :ios, ‘9.0’
pod ‘AFNetworking‘, ‘~>2.0‘
b、如果不同的Target需要不同的依赖库,则可以
[objc] view plain copy print?
platform :ios
target :‘Test‘ do
pod ‘Reachability‘
pod ‘SBJson‘
pod ‘AFNetworking‘
end
target :‘Second‘ do
pod ‘OpenUDID‘
end
6、出现/Library/Ruby/Gems/2.0.0/gems/claide-0.8.1/lib/claide/command.rb:417:in `help!‘: [!] You cannot run CocoaPods as root. (CLAide::Help)
重新打开一个终端,然后pod install,不要sudo pod install。
7、如果$ pod install时候遇到:
Analyzing dependencies
Fetching podspec for `UAAppReviewManager` from `..`
[!] Unable to satisfy the following requirements:
- `UAAppReviewManager (from `..`)` required by `Podfile`
8、如果要移除Cocoapods,则可以:
a. 删除工程文件夹下的Podfile、Podfile.lock及Pods文件夹
b. 删除xcworkspace文件
c. 使用xcodeproj文件打开工程,删除Frameworks组下的Pods.xcconfig及libPods.a引用
d. 在工程设置中的Build Phases下删除Check Pods Manifest.lock及Copy Pods Resources