Ruby on Rails学习心得(一)配置Ruby on Rails

草草草。。。。。。。终于配好了Ruby on Rails的环境了。。。。。。

弄了我三天啊,悲剧的,我决定把这三天的血泪使写下来。

第一次,我是用Ubuntu的apt-get安装的,安装的非常简单,

sudo apt-get install ruby

sudo apt-get install rails

sudo apt-get install bundler(这句不太记得,总之就是bundler什么的)

知道可以使用ruby -v,rails -v, gem -v,bundle -v为止。

配置的非常顺利,只是一些命令和网上的有点不同。首先是新建命令,rails projectName就可以了。然后cd prijectName,接下来用ruby script/server就可以运行服务器了,很简单是吧,可是我就不知道问什么关闭不了服务器,提示用Ctrl+C就可以关闭,但是啊关闭的时候会提示错误,然后一直关不了,只能用kill命令来关闭,但是对于我这种有点强迫症的人来说这当然是不允许的。。。所以我就打算用网上一直传下来的方法,rvm来安装了。

为了卸载之前的Ruby,我多手用了sudo apt-get autoremove,结果又一次悲剧,不知道删除了什么,搞到就算用apt-get安装的ruby都用不了。加上我另一个系统(Windows8开始有点问题了),于是我作出了一个伟大的决定——重装。就这样我耗上了1.5天(备份还原资料以及安装Ubuntu上的环境花了差不多1天的时间)

终于装好系统咯,接下来就是按照网上的教程来配置了(这次我成功了啊)

1、安装curl和git-core

sudo apt-get install curl git-core

2、配置git(这个要先在https://github.com/上注册一个git的帐号才可以)

git config --global user.name "you userName"

git config --global user.email XXXXX@XXX.com

3、安装依赖包

sudo apt-get install gcc g++ build-essential libssl-dev libreadline5-dev zliblg-dev linux-headers-generic

我安装的时候提示有一些包找不到,要用其他的包来代替,我就跟着那提示来安装就行了,注意一定要安装gcc和g++

4、安装一些需要的rvm


bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )
 
echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
 
source ~/.bash_profile
这些我就直接复制下来了(来自: http://www.2cto.com/os/201301/187215.html


输入rvm -v有版本输出表示成功

5、通过rvm安装ruby

rvm get stable

rvm list known(列出可以安装的。。)

rvm install 2.0.0(可以选择其他版本)

rvm --default use 2.0.0

如果用ruby -v,gem -v没问题代表安装成功

6、安装rails

gem update --system

gem update

先使用上面两句来更新系统

gem install rails

安装完后可以使用rails -v查看版本号表示成功,如果提示缺少了什么gem的话,就直接用gem install XX安装上就可以了。

例如提示


Could not find gem 'jbuilder (~> 1.2) ruby' in the gems available on this machine.
Run `bundle install` to install missing gems.
那就用gem install jbuilder就好了,按照提示可以使用bundle install但是我那个时候连bundle install都会提示出错啊。。。


可以用gem list来查看自己安装了那一下gem包

我运行gem list显示如下


*** LOCAL GEMS ***

actionmailer (4.0.0)
actionpack (4.0.0)
activemodel (4.0.0)
activerecord (4.0.0)
activerecord-deprecated_finders (1.0.3)
activesupport (4.0.0)
arel (4.0.0)
atomic (1.1.10)
builder (3.2.2, 3.1.4)
bundler (1.3.5)
coffee-rails (4.0.0)
coffee-script (2.2.0)
coffee-script-source (1.6.3)
erubis (2.7.0)
execjs (1.4.0)
hike (1.2.3)
i18n (0.6.4)
jbuilder (1.5.0)
jquery-rails (3.0.4)
json (1.8.0)
libv8 (3.16.14.1, 3.11.8.17 x86_64-linux)
mail (2.5.4)
mime-types (1.23)
minitest (5.0.6, 4.7.5)
multi_json (1.7.7)
polyglot (0.3.3)
rack (1.5.2)
rack-test (0.6.2)
rails (4.0.0)
railties (4.0.0)
rake (10.1.0)
rdoc (4.0.1, 3.12.2)
ref (1.0.5)
rubygems-update (2.0.6)
sass (3.2.10)
sass-rails (4.0.0)
sdoc (0.3.20)
sprockets (2.10.0)
sprockets-rails (2.0.0)
sqlite3 (1.3.7)
therubyracer (0.11.4)
thor (0.18.1)
thread_safe (0.1.2)
tilt (1.4.1)
treetop (1.4.14)
turbolinks (1.3.0)
tzinfo (1.0.1, 0.3.37)
uglifier (2.1.2)
其中特别注意的是要安装execjs和therubyracer(网上说可以通过bundle install全部安装的,但是由于我不知道为什么我之前的bundle install用不了,所以只能通过gem install来安装了)


之后终于安装好了,连bundle install都可以使用了

7、新建应用

通过rails new projectName可以新建一个

cd projectName进入项目目录

运行rails server启动。。。

就在我以为一切都可以成功的时候,悲剧再一次发生


/home/leaf/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/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 /home/leaf/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/execjs-1.4.0/lib/execjs.rb:5:in `<module:ExecJS>'
	from /home/leaf/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/execjs-1.4.0/lib/execjs.rb:4:in `<top (required)>'
	from /home/leaf/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/uglifier-2.1.2/lib/uglifier.rb:3:in `require'
	from /home/leaf/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/uglifier-2.1.2/lib/uglifier.rb:3:in `<top (required)>'
	from /home/leaf/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
	from /home/leaf/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
	from /home/leaf/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
	from /home/leaf/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
	from /home/leaf/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
	from /home/leaf/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
	from /home/leaf/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
	from /home/leaf/Workspace/Ruby/FirstRails/config/application.rb:7:in `<top (required)>'
	from /home/leaf/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:76:in `require'
	from /home/leaf/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:76:in `block in <top (required)>'
	from /home/leaf/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:73:in `tap'
	from /home/leaf/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:73:in `<top (required)>'
	from bin/rails:4:in `require'
	from bin/rails:4:in `<main>'


居然出现了这种提示。。。上网查了一下,说要在Gemfile上加上gem 'execjs' 和 gem 'therubyracer',但是就不告诉我到底Gemfile在哪里啊,那叫我这种菜鸟去哪里找这个文件喔,然后我把整个.rvm文件都找遍了,终于知道了原来Gemfile在项目文件夹里面,不再.rvm里。。。。。。

所以我在projectName(刚刚新建的那个项目)里面的Gamefile加上gem 'execjs' 和 gem 'therubyracer'(在END之前加啊,相信应该都看得懂的),然后运行bundle install之后就可以运行rails server启动服务器了,连关闭都正常了,太高兴了.

转载于:https://my.oschina.net/zlLeaf/blog/149650

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值