热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ruby和Rubyonrails的安装(windows和centos)

一.RubyonrailsRubyonRails(官方简称为Rails,RoR非官方简称)是使用Ruby这套开放原始码(采用MIT授权)、物件导向程式语言所开发的Web开发

一.Ruby on rails

Ruby on Rails(官方简称为Rails,RoR非官方简称)是使用Ruby这套开放原始码(采用MIT授权)、物件导向程式语言所开发的Web开发框架,主要用于开发数据库网站应用程式。Rails是一套专业的开发框架,采用了MVC(Model-View-Control)模式、内建支援单元测试和整合测试、支援Ajax和RESTful接口、ORM机制,以及支援各种最新的业界标准像是HTML5、JQuery等等功能。

rails的指导原则包括:

  • 不要重复自己(DRY: Don’t Repeat Yourself)
  • 惯例胜于设定(Convention Over Configuration)
  • REST是网站应用程式的最佳模式

补充 动态语言和静态语言

  • 静态语言和动态语言的差别在于,前者的变量型别需要事前宣告,后者则是执行期才动态决定。实务上,就看程式需不需要事前编译这个动作了
  • 静态语言的执行速度更快
  • 动态语言的开发周期更短

二.Ruby和Rails 在Windows的安装

补充 运行系统和编辑

  • Rails 建议运行在Unix-like系统里
  • 无论用什么编辑器,请注意档案的格式要储存成UTF-8,无BOM(byte-order mark)表头。

ruby 安装

可以在下载之前安装 MSYS2(模拟Unix环境) toolkit 可以在之后安装 这里是先下载的MSYS2
MSYS2下载地址 

ruby下载地址(rubyinstaller)

正常安装后弹出弹框,如果先安装了MSYS2则先执行2(更新MSYS2),然后执行3(将MSYS2与ruby关联起来)

rails 安装

gem 镜像

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

查看镜像是否添加

gem sources -l 

添加成功结果如下:

*** CURRENT SOURCES ***
https://gems.ruby-china.org

rails 安装

gem install rails

查看rails安装版本

rails -v

三 Ruby和Rails 在Centos上的安装(rvm)

ruby 安装

  1. rvm安装
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
$ curl -sSL https://get.rvm.io | bash -s stable
  1. 设置rvm环境
$ source /etc/profile.d/rvm.sh 

3.验证rvm

$ rvm -v
  1. 列出已知的ruby版本:
$ rvm list known
  1. 安装ruby
$ rvm install 2.4.2(选择已有的版本)

rvm 常用命令

查询已经安装的 ruby $ rvm list

卸载一个已安装版本 $ rvm remove 1.9.2

ruby -v gem -v

切换gem源

$ gem source -r https://rubygems.org/
$ gem source -a https://gems.ruby-china.org
 $ gem sources -l 

安装rails

gem install rails

启动报错

rails new demo
cd demo
bin/rails server 报错:Could not find Javascript Runtime(需要安装node)

安装nodejs

  1. 安装依赖
    yum install gcc-c++ openssl-devel

  2. 查看python版本
    Node.js环境需要Python2.6以上,我们需要检查,如果不是则需要安装和升级最新版Python。 python --version

  3. 安装node

cd /usr/local/src
wget http://nodejs.org/dist/node-latest.tar.gz
tar -zxvf node-latest.tar.gz
cd node-v0.12.7
./configure
make && make install
  1. 查看是否安装成功
node -v
npm -v

注意

rails 中使用coffescript 需要安装node.js
否则layout的模板会报错

安装ruby ruby -v
安装node.js node -v
安装git   git -v

推荐阅读
  • wpf+mvvm代码组织结构及实现方式
    本文介绍了wpf+mvvm代码组织结构的由来和实现方式。作者回顾了自己大学时期接触wpf开发和mvvm模式的经历,认为mvvm模式使得开发更加专注于业务且高效。与此同时,作者指出mvvm模式相较于mvc模式的优势。文章还提到了当没有mvvm时处理数据和UI交互的例子,以及前后端分离和组件化的概念。作者希望能够只关注原始数据结构,将数据交给UI自行改变,从而解放劳动力,避免加班。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了解决IE678伪类不兼容问题的方法,包括少用CSS3和HTML5独有的属性,使用CSS hacker,使用last-child清除浮动、批量添加标签、去掉list item最后一个的border-right等技巧。同时还介绍了使用after清除浮动时加上IE独有属性zoom:1的处理方法。另外,本文还提到可以使用jQuery代替批量添加标签的功能,以及使用负边距和CSS2选择器element+element去掉list item最后一个的border-right的方法。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • 本文讨论了在PHP中将空格转换为问号的问题,并提供了解决方案。文章指出,空格不是标准的空格,而是特殊的0xC2 0xA0字符。作者尝试使用mb_convert_encoding函数将utf8字符串转换为gbk编码,但未成功。文章建议检查编辑器是否对空格进行了特殊处理,并提供了使用base64_encode函数打印结果的方法。最后,给出了完整的代码示例。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 配置IPv4静态路由实现企业网内不同网段用户互访
    本文介绍了通过配置IPv4静态路由实现企业网内不同网段用户互访的方法。首先需要配置接口的链路层协议参数和IP地址,使相邻节点网络层可达。然后按照静态路由组网图的操作步骤,配置静态路由。这样任意两台主机之间都能够互通。 ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 移动端常用单位——rem的使用方法和注意事项
    本文介绍了移动端常用的单位rem的使用方法和注意事项,包括px、%、em、vw、vh等其他常用单位的比较。同时还介绍了如何通过JS获取视口宽度并动态调整rem的值,以适应不同设备的屏幕大小。此外,还提到了rem目前在移动端的主流地位。 ... [详细]
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • Python中sys模块的功能及用法详解
    本文详细介绍了Python中sys模块的功能及用法,包括对解释器参数和功能的访问、命令行参数列表、字节顺序指示符、编译模块名称等。同时还介绍了sys模块中的新功能和call_tracing函数的用法。推荐学习《Python教程》以深入了解。 ... [详细]
  • 本文介绍了在C#中SByte类型的GetHashCode方法,该方法用于获取当前SByte实例的HashCode。给出了该方法的语法和返回值,并提供了一个示例程序演示了该方法的使用。 ... [详细]
author-avatar
少年放肆的温存
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有