1、问题发现之前的准备

在读《Learn Python In Hard Way》的时候,发现作者谈到一个非常有趣的事情,在做一些有趣的事情之前做的无聊的事情叫做yak shaving,牦牛剪毛。

相似学习一门语言或技术前的安装,配置等等东西。

曾经听一位师兄说假设你搞web的话,能够去学习下ROR。查了下发现是Ruby on rails,作为它的作者——

David Heinemeier Hansson也是一个相当奇妙的程序猿。然后这次本来想系统性学习下Ruby。可是发现细节好多。所以想换第二种学习方式,直接上手ROR。

关于这样的学习方式,我又去搜了一些经验回答。有一位前辈总结的非常好。

过了3本书。

1、《HeadFirst HTML AND CSS》
2、《The linux command line》
3、《Pro git》
从主要的前端。linux的总体和主要的shell。以及git工具。个人依据个人知识略过第一本,挑不懂的知识点看,后两本看得比較细致。

我发现会用git。并不知道快照原来是如此一回事,整个git的控制流程是与svn怎样的不同。第一次发现linux里面双击能够复制,鼠标中键能够直接粘贴。

2、发现问题

后面再看的《Ruby on Rails tutorial》。第一章就是yak shaving。
自己配置ROR环境,然后正式部署到Heroku。然后问题就来了。Application Error和code=H10 desc="App crashed“问题。
Heroku本身能够看错误,点击view logs

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=

3、问题解决

依据这个并不能看出问题所在,继续查。

http://stackoverflow.com/questions/13496827/heroku-deployment-error-h10-app-crashed

跟第一个回答那样,输入heroku run rails console。能够排除一下故障。

2016-02-29T05:18:58.740439+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/sass-rails-5.0.1/lib/sass/rails/helpers.rb:11:in `<top (required)>': uninitialized constant Sass::Script (NameError)
2016-02-29T05:18:58.740461+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.2.0/gems/sass-rails-5.0.1/lib/sass/rails.rb:8:in `require'
2016-02-29T05:18:58.740463+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.2.0/gems/sass-rails-5.0.1/lib/sass/rails.rb:8:in `<top (required)>'
2016-02-29T05:18:58.740463+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.2.0/gems/sass-rails-5.0.1/lib/sass-rails.rb:1:in `require'
2016-02-29T05:18:58.740464+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.2.0/gems/sass-rails-5.0.1/lib/sass-rails.rb:1:in `<top (required)>'
2016-02-29T05:18:58.740465+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:76:in `require'
2016-02-29T05:18:58.740466+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
2016-02-29T05:18:58.740466+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:72:in `each'
2016-02-29T05:18:58.740469+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:72:in `block in require'
2016-02-29T05:18:58.740470+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:61:in `each'
2016-02-29T05:18:58.740470+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:61:in `require'
2016-02-29T05:18:58.740471+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler.rb:134:in `require'
2016-02-29T05:18:58.740472+00:00 app[web.1]: from /app/config/application.rb:7:in `<top (required)>'
2016-02-29T05:18:58.740473+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:78:in `require'
2016-02-29T05:18:58.740473+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:78:in `block in server'
2016-02-29T05:18:58.740474+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `tap'
2016-02-29T05:18:58.740475+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `server'
2016-02-29T05:18:58.740475+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
2016-02-29T05:18:58.740476+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.0/lib/rails/commands.rb:17:in `<top (required)>'
2016-02-29T05:18:58.740477+00:00 app[web.1]: from bin/rails:9:in `require'
2016-02-29T05:18:58.740477+00:00 app[web.1]: from bin/rails:9:in `<main>'
2016-02-29T05:18:59.458586+00:00 heroku[web.1]: State changed from starting to crashed
2016-02-29T05:18:59.444429+00:00 heroku[web.1]: Process exited with status 1

依据

/app/vendor/bundle/ruby/2.2.0/gems/sass-rails-5.0.1/lib/sass/rails/helpers.rb:11:in `<top (required)>': uninitialized constant Sass::Script (NameError)

能够推測应该是gem文件里的sass-rails版本号的问题。

我突然想起了这个细节。

事实上依据第三版的书上面的Gemfile配置,书上的配置是gem 'sass-rails','5.0.0.beta1',这一步在运行bundle install的时候就会报错了。

我是直接把beta1去掉。

由于这个错误,我把它改成了5.0.1版本号。

可是还是错误。上周弄得我一头雾水。今天又一次整理思路后。再查这个错误。

居然是要配置为gem 'sass-rails','5.0.2'。
成功正式部署Hello world。

近期看了《音乐的秘密》,一部介绍一首歌的幕后工作,作为程序猿应该也能相同看到对职业的一种尊重。
近期好像突然有了软肋,又突然有了铠甲。变得更加的坚定。

ROR部署到Heroku出现Application Error和code=H10 desc=&quot;App crashed“问题的更多相关文章

  1. 【Azure 应用服务】部署Jar到App Service for Linux,因启动命令路径配置错误而引起:( Application Error 问题

    问题描述 App Service for Linux 资源创建完成后,通过FTP方式把 .jar包(logdemo.jar)包上传到 /site/wwwroot/ 文件夹后,在App Service的 ...

  2. [Ting's笔记Day5]在部署到Heroku之前,将Rails项目从SQLite设定为PostgreSQL

    前情提要: Paas(平台及服务)公司Heroku是个可以把我们写好的App部署到网际网络的好地方.而本篇是我从自己的上一篇文章:将Ruby on Rails项目部署到Heroku遇到的问题,当时困扰 ...

  3. 将 django部署到 heroku上

    为什么要这样做,因为我并没有弄懂,使用传统和推荐的方法来部署django.刚好我手里有这么一份教程我就按照这么做了. 1. 访问 http://heroku.com/ 完成一个注册,注册需要一个国外的 ...

  4. fastapi+vue搭建免费代理IP网站部署至heroku

    说明 最近需要用到一些HTTP的代理,用于爬虫去爬取信息,搜索了一些网站,貌似现在这类提供免费代理IP的网站很多,刚好最近看了点vue的视频,弄个网站练练. 部署到heroku,预览地址:点击这里 F ...

  5. xp操作系统下配置iis,出现了server application error的解决办法

    在网上搜索了很多解决办法,最后发现一个差不多的: Server Application Error The server has encountered an error while loading ...

  6. Runtime Error---Description: An application error occurred on the server....

    [原]Runtime Error---Description: An application error occurred on the server.... 2010-1-7阅读2010 评论3 D ...

  7. server application error应用错误

    本地使用IIS测试ASP脚本网页,结果发现提示[Server Application Error The server has encountered an error while loading a ...

  8. APPLICATION ERROR #1502 .

    mantisbt出现1502问题解决:引起问题的原因:当提交的问题有分类,此时删除此分类,就会出现下面的情况.问题描述:APPLICATION ERROR #1502 没有找到类别.请使用浏览器的“返 ...

  9. Autel MaxiDAS DS708 Fatal Application Error illegal operation

    I get one Original Autel MaxiDAS® DS708 Update Service, after complete update, I got a message " ...

随机推荐

  1. C/C++学习路线

    随着互联网及互联网+深入蓬勃的发展,经过40余年的时间洗礼,C/C++俨然已成为一门贵族语言,出色的性能使之成为高级语言中的性能王者.而在今天,它又扮演着什么样重要的角色呢?请往下看: 后端服务器,移 ...

  2. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---10

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  3. 無法使用 adb push file,Read-only file system

    adb root adb remount adb push xxx /system/etc/xxx failed to copy 'xxx' to '/system/etc/xxx': couldn' ...

  4. python日期时间相关

    参考: http://www.coder4.com/archives/2239 http://www.cnblogs.com/lhj588/archive/2012/04/23/2466653.htm ...

  5. interview fb2

    2014.7.8fb #include <iostream> using namespace std; struct TreeNode{ int val; TreeNode *left; ...

  6. AC日记——计算循环节长度 51nod 1035

    最长的循环节 思路: 我们尝试一种最简单的方法,模拟: 如何模拟呢? 每个数,对它模k取余,如果它的余数没有出现过,就补0继续模: 所以,当一个余数出现两次时,当前的长度即为循环节长度: 来,上代码: ...

  7. BZOJ1858 [Scoi2010]序列操作(线段树)

    题目链接 [Scoi2010]序列操作 考验代码能力的一道好题. 思想还是很简单的(直接上线段树),但是比较难写. #include <bits/stdc++.h> using names ...

  8. 创建一个vue-cli项

    一.vue cli脚手架 Vue 提供了一个官方的cli,为单页面应用 (SPA) 快速搭建繁杂的脚手架,通过这个工具我们就可以很方便的来创建一个基于vue的项目. 二.安装一些必要的东西node.n ...

  9. 维生素C - 坏血症

    在地理大发现时代,许多水手在远洋航行时不幸罹患一种典型航海病,患者皮肤溃烂.牙龈出血不止,不久就会危及生命,这就是大名鼎鼎的坏血症,是一种因为缺乏维生素C而产生的的皮.粘膜下出血.齿龈肿胀.关节和肌肉 ...

  10. Java面试中的多线程问题

    很多核心 Java 面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程概念时,娴熟的实际经验是必需的.这篇文章收集了 Java ...