• Ruby on Rails框架(1)-安装全攻略


    • 关于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所需要的配置包根据相应的版本安装好了
      @数据分析-jacky

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

    5.2.2 Rails框架的目录结构

    @数据分析- jacky

    • 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
    

    @数据分析-jacky

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

      • 浏览器显示如下页面
        @数据分析-jacky
  • 相关阅读:
    PHP $_SERVER变量
    Buddy system伙伴分配器实现
    Linux iconv使用
    内存管理(memory allocation内存分配)
    内存碎片
    《STL源码剖析》chapter2空间配置器allocator
    Effective C++学习笔记:初始化列表中成员列出的顺序和它们在类中声明的顺序相同
    c++ explicit
    《STL源码剖析》环境配置
    C++ STL的各种实现版本
  • 原文地址:https://www.cnblogs.com/shujufenxi/p/10128249.html
Copyright © 2020-2023  润新知