• 关于Rails的三句箴言

    • (1)DRY:Don’t Repeat Yourself(不要重复你自己)

      • rails的开发理念,不要用你的代码不停的重复,rails框架给开发者提供了一套非常完善的支持,让你在很多地方,只需要短短几行代码,就能实现非常强大的功能;
    • (2)约定大于配置(约定优先原则)Convention Over Configuration

      • rails框架并不会出现传统框架里面例如xml这样的配置文件,而将大家已经知道并已经成为习惯的内容,不进行显示的配置,只要我们去默认使用就可以了,这样一来就极大的简化了框架的配置工作,能实现我们用更少的代码来实现应用的程序变为可能;
    • (3)对于web应用来说,REST是最好的

(一) 开发环境的选择

  • 给初学者的建议

    • 如果我们没有至少5年以上的rails开发经验,我们务必不要使用windows操作系统去进行rails框架的开发,否则你会浪费非常多的时间在解决各种奇奇怪怪的问题上,比如说ruby的问题,gem的问题等等,非常的不值得,这些时间我们完全可以拿来学习rails框架

1.1 为什么不使用windows

  • rails框架对windows非常不友好,各种的学习资料和问题解答,还有库的支持都非常的有限,并且对于很多rails推荐使用的工具,比如说命令行,windows的命令行是不强大的;

1.2 选择适合自己的开发环境

  • Mac OS

  • Linux

这里jacky使用的centos7开发环境,多年的经验告诉jacky ,centos系统还是很不错的,生产环境我们肯定是用云服务器了,非生产环境我们用VMware Workstation软件在windonw上安装一个centos7系统,具体如何安装虚拟机,网上百度即可,红帽的镜像网上下载即可;

(二)安装 ruby

jacky说,ruby可不如java和python好安装,不同系统,不同版本,都可能会遇到这样那样的问题,这里jacky就只跟大家分享centos7的安装,如果信得过jacky的人,jacky也建议大家使用centos7系统,这样也可以跟着jacky一步一步来安装;

  • 网上安装的方法方式太多,这里jacky建议大家还是下载ruby官网的安装包到本地,解压,编译,安装,一步一步老老实实的安装

(1)ruby官网下载最新ruby安装包

http://www.ruby-lang.org/en/downloads/

(2)源码安装

$ tar -xvzf ruby-2.5.3.tgz
$ cd ruby-2.5.3
$ ./configure
$ make
$ sudo make install
$ruby -v
ruby 2.5.3……

大部分朋友安装到./configure命令后可能会报错,那是因为linux系统下的ruby安装是要依赖gcc编译器(什么是gcc自行百度),所以我们要执行下面的命令:yum -y install gcc 然后在重新执行命令就可以了

(三)RubyGem的安装和使用

3.1 Gem源

Gem 是管理相关软件库的东西,可以给rails框架提供软件包,用gem 安装 rails 有可能会出现问题,发生超时或连接错误等等,90%安装不成功的原因都是gem源的问题

  • Gem源是什么

    • Gem将所有的软件包放置的平台叫做Gem源,我们更新或者安装各种Gem包的时候,都需要去连接这个Gem源,Gems源的网站为:rubygems.org ,我们下载rails的时候,也是去这个网站去查找和下载的,因为这个网站不是国内的,我们国内用户在访问这个gem源的时候会非常慢,有的时候会连不上,会导致安装的时候出现问题,那么解决的办法就是更换Gem源

    • 我们在国内使用最稳定的是ruby-china镜像源,网站是 https://gems.ruby-china.com/

3.2 更改Gem源

  • (1)第1步:用l命令看一下我们目前有的Gem源;
gem sources --l

-(2)第2步:安装ruby-china镜像源

这里jacky强调的是,新建镜像源一定要移除原有的镜像源

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

(四)Rails的安装

大部分的教程或者网络上的资料告诉大家rails的安装是非常简单的,只要使用一条命令就可以了(gem install rails),如果有报错,那我们就在命令前面加一个sudo就可以了(sudo gem install rails)就可以了(如果有些朋友不能用sudo命令可以试一下这个代码:alias sudo=‘sudo env PATH=$PATH’),但jacky说实际上真让我们安装rails的时候,一定会遇到这样或者那样的问题,但是为什么教程和资料上说的就是这样的简单呢;jacky认为是两个原因:第一个原因是rails安装的问题太多,有些人也讲不清或者不想讲;第二个原因是用rails的人,一定不会是第一次就选择rails框架,大家都会有其他编程语言框架的基础,在安装其他编程语言框架的时候,有些rails框架

  • 我们的最终目的是用一条命令,就完美安装rails (gem install rails或者sudo gem install rails),但使用这条命令我们会遇到这样或者那样的问题,出现的问题都是我们缺少依赖包或者依赖配置,这里jacky给大家规整一下出现的问题,并给出解决方案;

对下面的依赖包的特别说明(必看):下面的依赖包不是必须要安装的,如果我们sudo gem install rails 不报错,我们就不用安装下面的安装包了,如果我们遇到了报错,大概率是jacky总结的下面的几个或者全部安装包没有安装

4.1 依赖包1:安装build essentials

yum groupinstall "Development Tools"
yum install -y gcc g++ kernel-devel
sudo yum install build-essential libopenssl-ruby ruby2.5.3-dev

上述这一条命令,我们就把许许多多rails的依赖包打包安装了

4.2 依赖包2:安装libxml2

yum -y install python-devel
yum install libxml2(如果不成功,我们要选择手动安装,就是下载安装包安装,这里略,大家自行百度)

4.3 依赖包3:安装openssl和zlib

这里要说就篇幅过长,可以参考下面这篇文章:

https://www.cnblogs.com/both/p/8875535.html

  • 以上我们就可以安装rails框架了
sudo gem install nokogiri
gem install rails

(五)使用Rails框架创建应用

5.1 开发环境的选择

  • 对于应用程序开发来说,有一个好的IDE(集成开发环境),会大大提升我们的开发效率,这里jacky推荐的IDE是 rubymine;

如何在linux系统安装rubymine大家自行百度

5.2 创建Rails应用程序

5.2.1 使用系统自带的终端进行操作

cd Documents
rails new 你的项目名(工程名) --skip-bundle
bundle install
  • 在运行bundle install命令之前,要修改Gemfile文件,bundle install的作用是让bundle根据gemfile的内容安装所有配置好的gem包,相当于一个命令就将rails所需要的配置包根据相应的版本安装好了

  • 这里大家在运行bundle install 时可能会报错:An error occurred while installing sqlite3 (1.3.13), and Bundler cannot continue.这时我们运行下面的这条命令就可以了: yum -y install sqlite*

5.2.2 Rails框架的目录结构

  • app:它是rails框架的核心文件,包括模型、控制器、视图,已经前端等等的核心代码都在这个文件夹里,非常的重要,之后的学习过程我们的开发90%的时间都是在app文件夹里进行操作的;

    • app下的assets文件夹:它是rails的应用资源文件夹,比如工程使用的一些静态文件都在这个文件夹里
  • config:它是应用的配置目录,包含比如数据库的配置、运行环境的配置、以及路由的配置等,我们在开发的过程也会经常的使用;

  • test:它存放了所有rails应用的测试代码,那关于rails的测试是rails开发一个比较重要的内容

  • lib和vendor:存放项目需要的第三方库,比如我们自己写的项目内部公用的接口,或javascripts接口等等都可以放在这个文件夹里

  • Gemfile:它配置了这个项目所有依赖的gem包

5.2.3 启动Rails框架

rails server
  • 这时,我们用命令运行rails服务时可能会报错,Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.(ExecJS::RuntimeUnavailable),我们只要安装node.js即可
1.下载node.js
curl --silent --location https://rpm.nodesource.com/setup_7.x | bash -
2.yum安装node.js
yum install -y nodejs
3.查看node.js版本
node -v

  • 如何判断rails工程是否运行正常

    • 浏览器显示如下页面

Ruby on Rails框架(1)-安装全攻略的更多相关文章

  1. TestLink安装全攻略

    TestLink安装全攻略 此文章转自该链接--http://www.cnblogs.com/Tcorner/archive/2011/07/26/2117296.html 安装前准备 需要下载xam ...

  2. 织梦DEDECMS小说模块使用和安装全攻略

    转之--http://www.51dedecms.com/news/dedecms/2012/0223/3380.html 小说模块功能很强大,可以用他做小说或者漫画站.他们都可以按某章节收费或免费供 ...

  3. JiaThis WordPress分享插件安装全攻略

    WordPress 是一个功能非常强大的博客系统,插件众多,易于扩充功能.安装和使用都非常方便.目前 WordPress 已经成为主流的 Blog 搭建平台.按照下面的方法,只需简单几步,就可轻松地将 ...

  4. linux下php-5.4.8.tar.gz编译安装全攻略

    首先安装基础依赖组建,注:这些依赖组建也是LINUX+PHP+MYSQL+APACHE+NGINX+MEMCACHED时必要的系统组件  LANG=C yum -y install gcc gcc-c ...

  5. node.js安装全攻略

    node.js学习也有近一年之久了,自开始以来,能遇到各种问题,就拿安装来说,总能遇到稀奇古怪的问题,但每次谷歌,或者百度,都能找到解决办法,逐渐也就养成了百度或者谷歌的毛病! 正常安装 第一步:下载 ...

  6. Windows Server 2008驱动安装全攻略

    安装设备驱动程序原本是一件非常简单的事情,很多驱动程序在安装的时候我们只要不停单击“下一步”按钮,就能让驱动程序顺利地在对应计算机系统“落户”;不过,当身边的计算机系统升级为Windows Serve ...

  7. 通过Ruby On Rails 框架来更好的理解MVC框架

    通过Ruby On Rails 框架来更好的理解MVC框架   1.背景    因为我在学习软件工程课程的时候,对于 MVC 框架理解不太深入,只是在理论层面上掌握,但是不知道如何在开发中使用 MVC ...

  8. Ruby on Rails框架开发学习

    学习地址:http://www.ixueyun.com/lessons/detail-lessonId-685.html 一.课程概述 软件开发在经历了面向过程编程的阶段,现在正大行其道的是敏捷开发, ...

  9. Android-x86虚拟机安装配置全攻略

    转自Android-x86虚拟机安装配置全攻略 注:这里安装从简,具体请参考虚拟机Vmware安装运行安卓4.0详细教程 Android-x86虚拟机安装配置网上有很多,但是全部说明白的确不多,希望这 ...

随机推荐

  1. netcore 版本升级 导致的cookie验证失败

    排查了两天的问题,本来都是运行正常的cookie验证,突然不好用了,服务器获取不到cookie信息. 我确实是升级了.netcore sdk,之前是2.2.102,后来升级成了2.2.107,一开始并 ...

  2. spring 通过启动命令配置文件路径

    公司使用dubbo开发,提供了很多的服务,每个服务中一些配置都是一样的,比如注册中心地址,公共码表库等一下配置,这样在部署每一个程序的时候,修改每一个服务的配置增加很多的工作量.且领导不想对程序有大的 ...

  3. C# CheckBoxList绑定值,设置及获取

    前端页面:.aspx <asp:CheckBoxList ID="ckbdot" runat="server" RepeatDirection=" ...

  4. ubuntu classicmenu-indicator

      sudo add-apt-repository ppa:diesch/testing sudo apt-get update sudo apt-get install classicmenu-in ...

  5. Part_six:Redis-cluster 实现集群

    redis-cluster 1.并发问题 redis官方生成可以达到 10万/每秒,每秒执行10万条命令 假如业务需要每秒100万的命令执行呢? 2.客户端分片 redis3.0集群采用P2P模式,完 ...

  6. 强大的display:grid

    自从用习惯flex布局我基本已经不怎么使用float了. 现在又出现了grid布局,就像flex的升级版,布局上十分强大. 主要属性: grid-template-columns://竖向排列 gri ...

  7. ABAP-Eclipse ADT中创建ABAP CDS视图

    Create an ABAP Project in ABAP Development Tools (ADT): https://developers.sap.com/tutorials/abap-cr ...

  8. tomcat7:deploy (default-cli) on project myproject: Cannot invoke Tomcat manager: Software caused connection abort: socket write error

    我使用的默认settings.xml,默认的里面只有tomcat6的服务器,没有tomcat7的服务器,接着往下看,下面来验证我的言论 进行tomcat7:run的命令时

  9. sqlserver TOP 问题(转载)

          来谈谈SQL数据库中"简单的"SELECT TOP—可能有你从未注意到的细节 首先从博客园的Jerome Wong网友说起 他提出了一个这样的问题 本人写了好几年SQL ...

  10. c# 写入文本文件