ruby on rails安装(ubuntu 14.04)

安装完windows版的,有人说新手千万不要用windows版的,因为会出现莫名其妙的错误,而且解决问题的方法很少 ,恩,最近小小的使用了下,还没有什么windows特有不能解决的问题,大概是才刚刚开始。项目用的服务器是ubuntu,所以嘛,还得用linux不是,下面是ubuntu14.04麒麟下的安装方法,使用的是RVM安装,相对简单。

ubuntu 14.04 安装

1. 安装依赖:

        安装之前要使用sudo apt-get update更新一下源,否则可能会出现如libcurl4-openssl-dev
等缺少依赖的错误,在下面所有的过程中使用apt-get安装出现找不到安装包或依赖的错误,
都首先update更新一下源,这里有ubuntu 14.04 source.list源

sudo apt-get update sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties

安装完成后,开始使用rvm安装ruby。

 2. 使用RVM安装ruby
     其中RVM是Ruby Version Manager的缩写,即ruby版本管理器。可以自动查找并安装所需
     版本的ruby,并对ruby版本进行管理。
     安装方法如下: 这里我们使用推荐的ruby-2.1.3

a)安装依赖:

         sudo apt-get install libgdbm-dev libncurses5-dev automake libtool bison libffi-dev

b)下载rvm:

           curl -L https://get.rvm.io | bash -s stable(这句话的解释)

           Note
                                在执行该语句时,可能出现GPG signature verification failed for  
                      ‘/home/sophia/.rvm/archives/rvm-1.26.4.tgz’的错误,以为是权限的原因前面
                      加sudo,结果在ubuntu麒麟14.04一次性通过,在ubuntu14.04中还是出现上述                                                错误,然后又apt-get update了一下,再试安装成功。。。感觉跟网络思密达的                                                 有关呀。
            安装成功~
221520518223647
      c)载入RVM环境:

            source ~/.rvm/scripts/rvm                         

       d)加入shell(以后就无需每次执行上一步了)   

             echo “source ~/.rvm/scripts/rvm” >> ~/.bashrc

        e)安装ruby-2.1.3

              rvm install 2.1.3221521032447071       f)将2.1.3设为默认版本  

             rvm use 2.1.3 –default
 
       g)测试:

           ruby -v

           显示为ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-linux],安装成功~
        h)添加设置:  告诉rubygems不要为每个本地包都安装文档

            echo “gem: –no-ri –no-rdoc” > ~/.gemrc

3.安装rails:
          首先在安装rails之前需要安装javascript runtime,如果不安装的话会出现
           rails sever时出错(请参考链接中的错误4 ExecJS::RuntimeUnavailable),
           安装方法如下:
                   sudo add-apt-repository ppa:chris-lea/node.js
                    sudo apt-get update
                    sudo apt-get install nodejs
            然后安装rails:
                   gem install rails
             Note: 
                      有可能会出现错误The program ‘gem’ can be found in the follwing packages
                           (在ubuntu麒麟上没有该错误)

最后rails -v测试成功~~~

4.使用rails:
与windows中相同rails new blog,cd到该目录下,使用rails s启动,http://localhost:3000测试 一下。

oh~myladygaga~~就这样的成功了~~妈妈再也不用担心我的学习了~~

221522429947745

rials server error

错误1:ActiveRecord::StatementInvalid
/home/diudiugirl/.rvm/gems/ruby-2.1.3/gems/activerecord-3.2.12/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:243:in `query’: Mysql2::Error: Table ‘ashelf_development.accounts’ doesn’t exist: SHOW FULL FIELDS FROM `accounts` (ActiveRecord::StatementInvalid) 
…..
解决方法:
database.yml中配置了三种环境,使用不同的数据库:development、test和production,而默认的是development环境。而在上述错误中未指定production环境,让我们使用rails s -e prodution来指定,又出现了如下的错误2。
错误2:ActiveRecord::AdapterNotSpecified
/home/diudiugirl/.rvm/gems/ruby-2.1.3/gems/activerecord-3.2.12/lib/active_record/connection_adapters/abstract/connection_specification.rb:47:in `resolve_hash_connection’: database configuration does not specify adapter (ActiveRecord::AdapterNotSpecified)
解决方法:使用 RAILS_ENV=production rails s 命令来指定。
错误3:Errno::EADDRINUSE
/home/diudiugirl/.rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/socket.rb:206:in `bind’: Address already in use – bind(2) for 0.0.0.0:3000 (Errno::EADDRINUSE)
解决方法:已经有一个rails s在运行了。
错误4:ExecJS::RuntimeUnavailable
/home/diudiugirl/.rvm/gems/ruby-2.1.3/gems/execjs-2.2.2/lib/execjs/runtimes.rb:51:in `autodetect’: Could not find a JavaScript runtime. See https://g`ithub.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
解决方法
按照错误提示ExecJS缺失runtime,查看链接https://g`ithub.com/sstephenson/execjs 可看到,ExecJS所支持的runtime:
而通过“ExecJS lets you run JavaScript code from Ruby. It automatically picks the best runtime available to evaluate your JavaScript program, then returns the result to you as a Ruby object.”可以看到,ExecJS会自动选择一个最好的现有runtime,所以能装的gems都装一下吧。
有两种方法:一是,使用gem install therubyracer和sudo apt-get install nodejs。二是在Gemfile中加入gem ‘execjs’,并将“#gem ‘therubyracer’,  platforms: :ruby”前的注释去掉。

大丢和杨树

吃个饭饭回来就6点钟了,人多的像土匪粑粑的毛儿似的,喘不过起来,
想着晚点走吧,sorry土小狗儿,不能早点回去陪你了~~~~(>_<)~~~~

某个周末大丢说出去走走,大丢还特意去买了吃的喝的,于是我们就做了公交车和地铁,一会会就到了森林公园,期间买地铁票的时候跟售票员买到奥林匹克森林公园的票,售票员说我们这里没有这个站,只有奥林匹克公园和森林公园…三条黑线…原来不是一个地方…

这一天哪阳光很好,天蓝蓝的,云白白的,小风儿欢欣的吹着,虽然人很多,但是心情大好~两双小脚丫走呀走,走呀走

FullSizeRender(2)

终于找到了一个合适的小坡,小坡边边上有颗树,铺上垫子,放下书包,倚靠小树旁,大丢顺势躺下看了看,听闻大丢:“小贼,你看到的天空和我看到的天空是不一样的。” 便也躺下,看到树叶下星星点点的阳光,温和极了,被阳光打透的叶子嫩绿嫩绿的,可以清楚的看到它们的脉络,哈,比春天的叶子还要美一些~

FullSizeRender(27)

休息了一会儿,拿出书来,开始了接下来几个小时的静谧安然的时光

 

FullSizeRender(23)
是谁多事种芭蕉?早也潇潇,晚也潇潇!是君心绪太无聊,种了芭蕉,又怨芭蕉!

看了会书睡了会觉,吃了包干脆面^_^,足足的,我们便开始走在了路上,远远的看到湖里波漪涟涟像阳光点缀的叶子一样耀眼,大丢说:”看湖面多好看,最喜欢这样的湖面了,这得远了看,走近就不好看了。“拽着大丢胳膊的家伙连连点头表示赞同,再走近的时候觉得绿油油的也挺好看 🙂

FullSizeRender(32)-25

远远的看到高高大大的杨树:“大丢大丢树上面有白色的花儿”,再走近了一点:“大丢大丢那不是白色的花儿,是树顶叶子的反面反光,看起来就像白色的花儿”。大丢:“那就是白色的花儿”,“不是白色的花儿,是叶子反光呢。”,大丢:“那就是白色的花儿”……

yangshuhua1

就这样,走呀走呀,大丢跑到杨树下面:“小贼,大丢和杨树!”于是大丢站成了这样这样以及这样,我拍成了这样这样以及这样… 那杨树很美~我想是因为大丢知道贼喜欢杨树,大丢知道贼和杨树的故事^_^

FullSizeRender(19)3FullSizeRender(21)3FullSizeRender(20)3

然后两只小脚丫又走呀走呀走呀

FullSizeRender(16)1

走到一座小岛的桥上,招呼大丢:“大丢大丢,大丢和芦苇”,于是有了下面这样这样这样以及这样…

FullSizeRender(8)1FullSizeRender(9)1FullSizeRender(10)1

然后我们继续走呀走呀走呀走…其实期间还有大丢和荷花、大丢和小草、大丢和…这里太多就省略了…在芦苇荡里有大片的荷花叶子和红色鲤鱼..由于已不是炎热的夏天,大丢和鲤鱼这个具有创意的想法就搁浅了,下面是孤单的叶子和鲤鱼…

FullSizeRender(11)1

最后我们找到一处小亭子歇歇脚,小亭子很别致,用一些看起来破烂的五颜六色的石头砖头和木头盖成的,休息一会儿之后我们又坐上地铁公交回家陪土匪去了~~

感谢大丢,感谢这个美丽的下午~~

FullSizeRender(138)_副本2
点击该图片有惊喜(*^__^*)。大丢和杨树中的大丢被拍的惨不忍睹,望众亲保重身体,望丢不要拍死贼,哇哈哈~~~·