Ubuntu上使用Heroku 云服务发布有数据库的Rails应用

程序最初是使用sqlite3数据库的。

修改Gemfile文件,针对heroku部署加入pg的支持group :production do # gems specifically for Heroku go here gem “pg”end

bundle install

预编译一些文件,否则在heroku上面会出错

bundle exec rake assets:precompile

发布应用到给Github上面

$ git add .$ git commit -a -m “Done with the demo app” Done with the demo app, add heroku pg database support$ git push

发布应用到heroku服务器上面$ heroku create$ git push heroku master$ heroku rake db:migrate

$ heroku rename BerryreloadDemoApp

现在可以在heroku云服务器上面测试我的数据库应用了

参考:

Ubuntu上使用Heroku 云服务发布Rails应用

如果执行命令

$ bundle exec rake assets:precompile

报错如下:rake aborted!undefined method `prerequisites’ for nil:NilClass(See full trace by running task with –trace)

再次执行命令

$ bundle exec rake assets:precompile –trace

报错如下:

rake aborted!undefined method `prerequisites’ for nil:NilClass/usr/local/ruby/lib/ruby/gems/1.9.1/gems/rspec-rails-2.0.1/lib/rspec/rails/tasks/rspec.rake:3:in `<top (required)>’

结论是rspec-rails-2.0.1和rake, Rails 3.1.3不兼容,需要升级

升级办法:

修改项目的Gemfile,去掉rspec-rails的版本号,如果你是根据教材Ruby on Rails 3 Tutorial设置了rspec-rails的版本号的话。

group :development do gem ‘rspec-rails’end

group :test do gem ‘rspec’ gem ‘webrat’end

最后执行命令

$ bundle update rspec-rails

结果显示升级到了rspec-rails 2.8.1

再次执行命令成功。

$ bundle exec rake assets:precompile

然后,

$ git add .

$ git commit -am “Done with static pages and precompile for heroku”

$ git push

$ git push heroku

$ heroku rake db:migrate

,我们一直在旅行,一直在等待某个人可以成为我们旅途的伴侣,

Ubuntu上使用Heroku 云服务发布有数据库的Rails应用

相关文章:

你感兴趣的文章:

标签云: