ruby on rails 安装过程中的遇到的问题记录

第一次接触ruby,对于ubuntu也不是很熟悉,搭建环境过程中遇到了一些问题,记录下来,没准对大家有点帮助,没准以后能有点参考价值。
本人操作系统ubuntn11.04


一。安装ruby
首先,自己尝试的装了一下ruby,ubuntu自带有安装方式

sudo apt-get install ruby

ruby -v 版本1.8.7

目前ruby都1.9.3了,所以想到给ruby升级,发现没有升级的命令(网上查了半天无果),决定卸载掉当前的ruby,碰巧三日兄友情提供了一种方案,详见:http://blog.csdn.net/abbuggy/article/details/8170899,于是卸掉:sudo apt-get remove ruby

rvm按照步骤装上了,但是问题了来了,rvm install 1.9.3-head 出问题了,我确定应该是我系统的问题,升级ubuntu(从10.10--11.04),还是不行,怒了,果断放弃这种方式。


查看http://guides.ruby-china.org/(貌似是官网,英文差看的中文网站)找到了ruby的几种安装方式:http://www.ruby-lang.org/en/downloads
看了通过指定版本安装:sudo apt-get install ruby1.9.1,提示“ruby1.91已经是最新版本”,但是不见它装。执行ruby -v,没装上。

最后没法忍受了,再网上寻找通过源码安装的方式:(参考网址:http://www.linuxidc.com/Linux/2012-01/51209.htm)
1.下载源码包(我下的1.9.2)

$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz

2.解压

$ tar -zxf ruby-1.9.2-p290.tar.gz

3.进入解压包执行配置文件脚本

$ ./configure --prefix=/usr/local/ruby

4.编译安装

$ make && sudo make install

5.最后不要忘了设置环境变量(ubuntu下有多个地方都可以设置环境变量/etc/profile  /etc/envirronment),这里按照参考网址上给的方式设置,记住通过source /etc/environment使之生效

最后,ok,安装成功


二、安装gem
RubyGems安装很方便,参考:http://docs.rubygems.org/read/chapter/3
下载源码,解压,执行ruby setup.rb脚本就行了,从这可以看出,装gem之前得先装ruby。
gem升级也很方便:gem update --system

三、安装rails(完全参考:中文:http://guides.ruby-china.org/ 英文:http://guides.ruby-china.org/)

安装rails之后,创建指导手册上的blog例子,遇到了一些点,也写下来供参考。
构建一个rails工程

$ rails new blog

这里通常会卡在最后一步,这里可以采用taobao提供的镜像,或者自己找一个装好了所有gem的机子,启动gem服务器,然后将ip指上这台机子也行。具体参考帖子:http://ruby-china.org/topics/914

这里采用淘宝的镜像
1.

$ rails new blog --skip-bundle  #只是创建工程目录结构,不执行bundle install

2. 进入工程 修改Gemfile(执行bundel install的配置文件)的第一行:source 'http://ruby.taobao.org'
3.然后执行 bundle install

$ bundle install

此处在执行的过程种提示我没装sqlite3,再指导手册中提示过要安装这个数据库的,只不过当时没在意。如果想启这个blog工程服务的话,还是装一下吧,不然你还是得提供其他的数据库(具体的可以参考:指导手册)。

安装sqlite3

$ sudo apt-get install sqlite3

如果提示你安装不了,试着先安装libsqlite3-dev,再安装sqlite3(我遇到了)

4.rails server启服务
报错:

chenqiaoqiao@chenqiaoqiao-OptiPlex-760:~/workspace/ruby/blog$ rails server
/usr/lib/ruby/gems/1.8/gems/execjs-1.4.0/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
    from /usr/lib/ruby/gems/1.8/gems/execjs-1.4.0/lib/execjs.rb:5
    from /usr/lib/ruby/gems/1.8/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `require'
    from /usr/lib/ruby/gems/1.8/gems/coffee-script-2.2.0/lib/coffee_script.rb:1
    from /usr/lib/ruby/gems/1.8/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `require'
    from /usr/lib/ruby/gems/1.8/gems/coffee-script-2.2.0/lib/coffee-script.rb:1
    from /usr/lib/ruby/gems/1.8/gems/coffee-rails-3.1.1/lib/coffee-rails.rb:1:in `require'
    from /usr/lib/ruby/gems/1.8/gems/coffee-rails-3.1.1/lib/coffee-rails.rb:1
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in `require'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in `require'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.2.3/lib/bundler/runtime.rb:66:in `each'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.2.3/lib/bundler/runtime.rb:66:in `require'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in `each'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in `require'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.2.3/lib/bundler.rb:128:in `require'
    from /home/chenqiaoqiao/workspace/ruby/blog/config/application.rb:7
    from /usr/lib/ruby/gems/1.8/gems/railties-3.1.1/lib/rails/commands.rb:52:in `require'
    from /usr/lib/ruby/gems/1.8/gems/railties-3.1.1/lib/rails/commands.rb:52
    from /usr/lib/ruby/gems/1.8/gems/railties-3.1.1/lib/rails/commands.rb:49:in `tap'
    from /usr/lib/ruby/gems/1.8/gems/railties-3.1.1/lib/rails/commands.rb:49
    from script/rails:6:in `require'
    from script/rails:6

解决方案:(参考:http://ruby-china.org/topics/1605)
方案一(验证过):解决方式是在gemfile中加入
Ruby代码
gem 'execjs'
gem 'therubyracer'
执行 bundle install

方案二(未验证):
gem install execjs
gem install therubyracer
sudo apt-get install nodejs

不难看出,实际上这里是缺少这两个gem

到这里,一切都ok了,执行rails server,发现服务起来了,然后按照指导手册上在浏览器上面输入:127.0.0.0:3000(这里就奇怪了为什么本机是127.0.0.0,不管,先试试),满怀期待的看到welcome aboard,结果失望的一踏糊涂,难道还有哪里不对?别急,试试127.0.0.1:3000看看,bingo~~服务成功起来~~

其实,后来细看启动信息http://0.0.0.0:3000也是可以的

转载于:https://www.cnblogs.com/MRJoe/archive/2013/01/21/2870243.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值