• 安装Ruby和安装Rails详细步骤详解


    rbenv安装Ruby

    rbenv可以管理多个版本的ruby。可以分为3种范围(或者说不同生效作用域)的版本:

    • local版:本地,针对各项目范围(只在某个目录下有效)

    • global版:全局,没有shell和local版时使用global版

    • shell版:当前终端,只针对当前所在终端

    查找优先级为shell>local>global

    安装rbenv和Ruby

    1.安装rbenv

    1

    2

    3

    4

    git clone https://github.com/rbenv/rbenv.git ~/.rbenv

    echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

    echo 'eval "$(rbenv init -)"' >> ~/.bashrc

    exec $SHELL

    2.安装ruby-build工作,可自动编译安装ruby。它可以作为rbenv的插件,也可以作为独立程序,建议采用插件的方式。(如果已经有了,就跳过这一步,只要确保有rbenv命令就可以)

    1

    2

    3

    4

    5

    6

    7

    # 作为rbenv插件

    mkdir -p "$(rbenv root)"/plugins

    git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

    # 作为独立程序

    git clone https://github.com/rbenv/ruby-build.git ~/ruby-build

    PREFIX=/usr/local ./ruby-build/install.sh

    3.选择ruby版本,安装ruby

    1

    2

    rbenv install --list

    rbenv install 2.6.2

    默认情况下,安装是很慢的,因为要从官方下载源码包进行编译,下载的过程非常慢。

    如果编译失败,可能是少了一些依赖包,在编译失败的时候会提示你执行什么命令来安装这些包(非常人性)。比如需要readline-devel包。

    1

    yum -y install readline-devel

    4.安装完ruby或切换了ruby之后,都需要执行rehash操作,让rbenv知道刚才新装了一个ruby。

    1

    rbenv rehash

    5.进入到项目目录/ror/ror1,设置local ruby版本

    1

    2

    cd /ror/ror1

    rbenv local 2.6.2

    6.设置gem

    1

    2

    3

    # 注意是ruby-china.com/,ruby-china.org的域名已经改成了.com

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

    gem sources -l

    解决rbenv安装慢问题

    方案1

    从 pub/ruby/ 将ruby对应版本文件下载下来,将文件丢到~/.rbenv/cache目录下。

    注意点:

    • ~/.rbenv/cache目录可能不存在,需要先创建
    • 下载保存下来的版本可能不是rbenv install时所需的版本,因为同一个版本的文件有.tar.bz2的,有.tar.xz的等等,rbenv对安装不同的ruby版本使用的文件后缀可能不一样,可以先执行下rbenv install 2.6.3后立马ctrl+c,再去下载显示出来对应后缀的包

    以下是一个示例:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    #  先rbenv install看看使用什么后缀的版本文件

    # 这里显示的是使用.tar.bz2后缀的文件

    $ rbenv install 2.6.2

    Downloading ruby-2.6.2.tar.bz2...

    ^C

    # 所以下载.tar.bz2的文件

    $ wget 'https://cache.ruby-china.com/pub/ruby/2.6/ruby-2.6.2.tar.bz2' -P ~/.rbenv/cache

    # 安装即可

    $ rbenv install 2.6.2

    方案2

    可以从 pub/ruby/ 将ruby对应版本文件下载下来,然后安装。但注意先设置环境变量,并且在此环境变量url之后加上特殊符号#?

    1

    2

    3

    4

    5

    # 以ruby-2.6.2为例

    wget https://cache.ruby-china.com/pub/ruby/2.6/ruby-2.6.2.tar.bz2 -P ~

    RUBY_BUILD_MIRROR_URL='file:///~/ruby-2.6.2.tar.bz2#' rbenv install 2.6.2 --verbose

    # 另:也可以设置代理https_proxy=IP:PORT加速下载

    方案3

    有时候上面的方案2会失效,不同版本可能不一样。但是,这里可以使用一个rbenv插件,让rbenv直接使用中国的镜像站点下载。直接执行下面的命令即可。

    1

    git clone https://github.com/andorchen/rbenv-china-mirror.git "$(rbenv root)"/plugins/rbenv-china-mirror

    更新rbenv的ruby版本列表

    安装rbenv一段时间之后,ruby可能发布了新的版本,这时rbenv无法获取到这个新版本的信息。因此需要更新rbenv的可安装列表。

    实际上,更新ruby-build插件即可:

    1

    2

    3

    4

    5

    6

    7

    # ruby-build作为rbenv插件时

    git -C "$(rbenv root)"/plugins/ruby-build pull

    # ruby-build作为独立程序时

    cd

    git clone https://github.com/rbenv/ruby-build.git

    PREFIX=/usr/local ./ruby-build/install.sh

    然后就可以查看新的ruby版本并安装。

    多版本ruby

    上面已经装了一个ruby了,现在再装一个ruby 2.6.1:

    1

    2

    3

    4

    5

    6

    # 以ruby-2.6.1为例

    $ wget https://cache.ruby-china.com/pub/ruby/2.6/ruby-2.6.1.tar.bz2 -P /root

    $ RUBY_BUILD_MIRROR_URL='file:///~/ruby-2.6.1.tar.bz2#' rbenv install 2.6.1 --verbose

    $ rbenv rehash

    现在,就有了两个版本,可以使用rbenv versions命令查看(复数versions表示列出已装所有版本,单数version表示列出当前所使用的ruby版本)。

    1

    $ rbenv versions

    现在,就可以通过rbenv [local | shell | global] VERSION来设置多版本共存的ruby了。

    比如:

    1

    2

    $ rbenv local 2.6.1

    $ rbenv version

    rbenv命令行

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    $ rbenv --help

    Usage: rbenv <command> []

    Some useful rbenv commands are:

       commands    列出rbenv的所有命令列表

       local       设置或显示local application-specific Ruby version

       global      设置或显示global Ruby version

       shell       设置或显示shell-specific Ruby version

       install     使用ruby-build安装指定的ruby版本

       uninstall   卸载指定版本

       rehash      rehash,每次安装完ruby后都要执行,否则rbenv不知道刚才新装ruby的信息

                   (rbenv通过检查~/.rbenv/shims来获取ruby信息)

       version     显示当前ruby版本

       versions    显示所有已装ruby版本

       which       显示ruby命令的全路径

       whence      列出包含该可执行命令的所有ruby版本

    See `rbenv help <command>' for information on a specific command.

    For full documentation, see: https://github.com/rbenv/rbenv#readme

    完整的命令列表可查看rbenv commands,各命令使用方法,可查看rbenv help COMMAND

    安装rails

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    cd /ror/ror1

    # 查看已有的rails版本号

    gem list --remote | grep '^rails' | head

    # 安装最新版的rails

    gem install rails

    # 安装指定版本的rails

    # gem install rails -v VERSION

    gem install rails -v 5.1.3

    安装了指定版本的rails后,rails创建的项目不一定就是指定版本的。比如上面安装的是5.1.3版本的rails,rails new blog可能会创建rails 6.0.3.2版本的项目blog。如果想要让创建的项目也是指定版本的,可:

    1

    rails _5.1.3_ new blog

    Windows安装Ruby和Rails

    下载Windows下的Ruby安装包:Downloads

    要下载with-devkit的。例如:

    1

    https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.6-1/rubyinstaller-devkit-2.6.6-1-x64.exe

    下载OK后,双击安装,一路点下一步:

    最后安装ruby所需的包:

    安装完成后,打开cmd或powershell:更改中国gem镜像仓库。

    1

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

    安装rails或其它gem:

    1

    2

    gem install rails

    gem install mysql2

  • 相关阅读:
    多线程(基础)
    Flink操作——状态与容错
    SQL中的约束
    软件系统分析与设计(软件设计师笔记)
    springboot实现动态定时任务(客户端维持心跳)
    云数据仓库实践:AWS Redshift在大数据储存分析上的落地经验分享
    掌握Pillow:Python图像处理的艺术
    Java高级应用——异常处理
    RabbitMQ-死信交换机
    SQL之索引
  • 原文地址:https://blog.csdn.net/sinat_40572875/article/details/127969655