rails再体验(第一个程序)
掌握redmine plugin开发的目标在2016年未实现,2017年继续。
选择《Ruby on Rails Tutorial》教程,windows安装railsinstaller,该版本ruby为V2.1.8,和bitnami redmine-3.3.0版本一致。但rails版本为4.2.5.1,和redmine对应的4.2.6不一致。首先进行一次gem包更新:
- 启动终端。注意使用Railsinstall安装后自带的终端,终端里会设置环境。
- 修改gem源: bundle config 'mirror.http://mirrors.aliyun.com/rubygems/' 'http://gems.ruby-china.org/' # 2017.1.7 发现gems.ruby-china.org好用。
- gem install rails –version=4.2.6 –no-ri –no-rdoc
根据书中1.2.3章节在命令终端生成第一个程序: rails new first_app, 出现以下错误:
run bundle install
Fetching source index from http://mirrors.aliyun.com/rubygems/
Net::HTTPNotFound
进入第一个程序的根目录: cd first_app
重新运行bundle install,错误提示https://rubygems.org连接时认证错误,网上查询需要生成SSL认证,比较麻烦。直接修改first_app下的Gemfile:
source 'https://rubygems.org'
修改为:
source 'http://gems.ruby-china.org/'
再次运行bundle install,显示以下错误:
Using activesupport 4.2.6
Bundler::GemspecError: Could not read gem at D:/App/Coder/RailsInstaller/Ruby2.1
.0/lib/ruby/gems/2.1.0/cache/tzinfo-data-1.2016.10.gem. It may be corrupted.
Installing loofah 2.0.3
Installing mail 2.6.4
Using rails-deprecated_sanitizer 1.0.3
Installing globalid 0.3.7
Using activemodel 4.2.6
Installing jbuilder 2.6.1
An error occurred while installing tzinfo-data (1.2016.10), and Bundler cannot
continue.
Make sure that `gem install tzinfo-data -v '1.2016.10'` succeeds before
bundling.
按照提示安装gem:
E:\05 Create\Code\temp\railstutorial\first_app>gem install tzinfo-data -v '1.201
6.10' --no-ri --no-rdoc
ERROR: Error installing tzinfo-data:
invalid gem: package is corrupt, exception while verifying: undefined me
thod `size' for nil:NilClass (NoMethodError) in D:/App/Coder/RailsInstaller/Ruby
2.1.0/lib/ruby/gems/2.1.0/cache/tzinfo-data-1.2016.10.gem
看起来目前版本不支持1.2016.10版本,换个低点的版本:
E:\05 Create\Code\temp\railstutorial\first_app>gem install tzinfo-data -v '1.201
5.6' --no-ri --no-rdoc
Fetching: tzinfo-data-1.2015.6.gem (100%)
Successfully installed tzinfo-data-1.2015.6
1 gem installed
同时修改Gemfile中的版本:
gem 'tzinfo-data',platforms: [:mingw, :mswin, :x64_mingw, :jruby]
修改为:
gem 'tzinfo-data', '1.2015.6' ,platforms: [:mingw, :mswin, :x64_mingw, :jruby]
再次bundle install运行成功,安装了56个gems。
因为版本已经和教程中的差异比较大(教程为ruby 2.0.0,rails 4.0.0),中间顺便对gem和bundle进行了升级:
gem update –system
bundle update # 因为上面升级了Rails gem版本,所以必须要执行
bundle install # 再次安装所需的gem,其实已没有更新
启动rails server: rails server。 通过http://127.0.0.1:3000可查看第一个程序。

rails再体验(第一个程序)的更多相关文章
- 不需内测账号,带你体验微信小程序完整开发过程
不需内测账号,带你体验微信小程序完整开发过程 2016年09月24日 - 作者: SwiftCafe 微信小程序还没正式发布就已经迅速成为大家讨论的焦点,那么大家可能觉得只有收到内测邀请才能体验小程序 ...
- OpenGL学习笔记1——第一个程序
学习的参考书基本是按照GL编程指南,如果有消息机制概念,对于GLUT的理解是很自然的.下面就按照自己写的第一个程序详细解释一下GL,还是比较容易上手的. 程序实现的功能是,根据当前随即种子摇出来的结果 ...
- 【C语言探索之旅】 第三课:你的第一个程序
内容简介 1.课程大纲 2.第一部分第三课:你的第一个程序 3.第一部分第四课预告:变量的世界 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个 ...
- C#基础知识-编写第一个程序(二)
通过上一篇数据类型已经介绍了C#中最基本的15种预定义数据类型,了解每一种类型代表的数据以及每种类型的取值范围,这是很重要也是最基本.下面我们通过实例来了解每个类型如何去使用.编写C#程序时我们需要用 ...
- python3 第二章 - 第一个程序
1、安装 打开官网 https://www.python.org/downloads/ 下载python3.6.4 如果你是windows\mac电脑,直接双击安装包,一路next即可,如果你是lin ...
- 2-学习GPRS_Air202(Air202开发板介绍和下载第一个程序)
http://www.cnblogs.com/yangfengwu/p/8887933.html 资料链接 链接:https://pan.baidu.com/s/1968t2QITuxoyXlE_Nz ...
- SLAM+语音机器人DIY系列:(二)ROS入门——4.如何编写ROS的第一个程序hello_world
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...
- 从零开始学习PYTHON3讲义(三)写第一个程序
<从零开始PYTHON3>第三讲 本页面使用了公式插件,因博客主机过滤无法显示的表示抱歉,并建议至个人主页查看原文. 我见过很多初学者,提到编程都有一种恐惧感,起源是感觉编程太难了.其 ...
- 起航,第一个程序——还是LED灯
如同学基本语言一样,helloworld是很多语言的第一个程序.在嵌入式开发中,点亮LED灯也是各种架构和开发板的第一个程序,其中很多东西是和单片机例如stm32是类似的,只是,现在我们没有了库函数, ...
随机推荐
- [sourceTree]这是一个无效的源路径
解决方法:工具 ——>选项 ——> git, 启用git 就可以了.
- SQL SERVER 查询表或字段在哪里使用过
select b.name from dbo.syscomments a, dbo.sysobjects b where a.id=b.id and b.xtype='p' and a.text li ...
- 为Office365增加密码过期自动提醒功能
最近有人和我反应,无法查看所有员工的Office365的密码过期时间.最好可以批量查看,如果能在过期前几天发个提醒邮件就更好了. $pw = ConvertTo-SecureString 'your_ ...
- 【SIGGRAPH】【最终幻想XV】的战斗场景实时演示的要点解说
[SIGGRAPH][最终幻想XV]的战斗场景实时演示的要点解说 原文:西川善司 http://www.4gamer.net/games/999/G999902/20160730004/ ...
- [转载] 自定义百度网盘分享密码 (Javascript)
压缩版 javascript:require(["function-widget-1:share/util/service/createLinkShare.js"]).protot ...
- true_kb
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 精简的javascript下throttle和debounce代码
//频率控制 函数连续调用时,fn 执行频率限定为 1次/waitMs.立即执行1次 function throttle(fn, waitMs) { var lastRun = 0; return f ...
- [原创]Eclipse Mars 在Ubuntu升级后无法工作的解决方法
近日将自己的Ubuntu从14.04LTS升级到了16.04LTS,顿时发现Eclipse不能正常工作了,到Ubuntu的官网上转了一圈发现以下解决方案: 症状: [1]Eclipse启动很慢; [2 ...
- mui框架使用的过程中遇到的几个问题
1.zepto.js和mui一起使用的时候,tap事件会发生两次,这时只要不引用zepto.js的touch.js就可以了,只用mui的tap事件,如: mui(".infor_header ...
- java编程思想 一切都是对象
java是一种面向对象程序设计语言,一切都是对象,并且用引用操作对象,如一个电视机就是一个对象,而操作电视机的遥控器就是引用,引用可以单独存在,如遥控器可以单独存在. String s; 这里只是创建 ...