大家好,最近在自学 ror,想要在本地运行 ruby-china 源代码。求大大们给些资源链接,或指导。还有站长本人有写过此类教程吗?有人知道贴个链接,谢谢。
1、安装 mongodb
2、安装 redis
3、clone 代码
4、在项目里运行: ./bing/setup
,会自动安装
5、rails s 就可以启动了
剩下的,慢慢玩。
昨天装了个,http://ruby.liwei.me/
@zhufengxiangxyz 开了 mongodb,把 yml 去掉 default 后缀,这些都是必须的。然而在 rails s 之前你忘记运行 redis 了:
$ redis-server
@pengedy 不对,根本不需要去掉 default 后缀。只需把 setup 中的 4 个全部安装完毕(变成绿色),然后在运行 ./bin/setup 就自动安装完成了。
#10 楼 @killernova 是这样,我 mongodb 和 redis 都已经装好了的,但是运行./bin/setup 只有 mongodb 是绿色的。sudo apt-get install XXX 是安装软件吧。
./bin/setup 会检测那几个软件是否安装的吧,红色说明没安装或者没启动服务吧。。。这是我猜测的。刚开始我也是在手动删除 default 后缀的,烦得很。后来就把那 4 个全搞成绿色的,就 ok 了。
#14 楼 @killernova Luke 是星战 1-3 主角名字。
打开 bin/setup
,搜索 redis
,可以定位到这一行
https://github.com/ruby-china/ruby-china/blob/d5c5a4e0f05babcd2329d2b3f9f7c99d5783f8f9/bin/setup#L69
[["mongod","MongoDB 2.0+"],["redis-server","Redis 2.0+"],["memcached","Memcached 1.4+"],["convert","ImageMagick 6.5+"]].each do |item|
puts_line_with_yn item[1] do
if `which #{item[0]}` == ""
pkg_exist = false
false
else
true
end
end
end
关键在 if `which #{item[0]}` == "",也就是这个脚本是通过 witch
命令确定是否安装了相关服务的。
在命令行输入:
which redis-server
看看有没有输出,如果没有输出的话,那就是可执行文件没有放在系统 PATH 内,这个安装脚本没有考虑编译安装的情况。
如果坚持自己编译的话,把 setup
脚本检查系统依赖这段删掉再试试。
很简单啊,装好 Memcached, MongoDB, Redis 再把 config 里面那几个 yml.example 改名一下 bundle install 后 rails s 就可以了