阿里云主机安装最新版rbenv+ruby+rails

一、安装编译环境【root账号下】

  1. 使用yum工具安装必要的编译环境

    yum update -y
    yum install -y git bzip2 openssl-devel readline-devel zlib-devel sqlite sqlite-devel gcc-c++
    
  2. 创建发布用的ruby账号,例如: deploy

    useradd deploy -G wheel
    passwd deploy
    

    为了使用sudo命令,需要将用户添加到wheel组去。对于已经创建的用户,可以使用以下命令添加用户的组 usermod -a -G wheel deploy

二、在deploy账号下安装rbenv+ruby-build

登录到deploy账号

su - deploy

# 安装rbenv
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile

# 安装ruby-build
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
cd ~/.rbenv/plugins/ruby-build
sudo ./install.sh

# 确认rbenv的版本
cd
rbenv -v

三、将rbenv切换到国内的Ruby源代码镜像服务

说明:https://ruby-china.org/wiki/ruby-mirror

# rbenv的情况
git clone https://github.com/andorchen/rbenv-china-mirror.git ~/.rbenv/plugins/rbenv-china-mirror

四、安装最新稳定版的ruby

  1. 使用rbenv命令,查看当前可以安装的ruby版本

    rbenv install -l
    

    执行的结果

    実行結果
      2.4.1
      2.5.0-dev
    

    -dev表示开发版,不建议安装在生产环境

  2. 安装2.4.1版本

    rbenv install 2.4.1
    

    耐心等待,耗时比较长

    安装完成后,执行

    # 为了gem中可执行的文件
    rbenv rehash
    # 将默认ruby版本设置为2.4.1
    rbenv global 2.4.1
    
  3. 查看安装的ruby版本

    ruby -v
    which ruby
    which gem
    

五、安装配置bundle、rails

  1. 设置gem为默认不安装文档

    在用户用户目录下创建文件vi .gemrc,存入以下内容:

    gem: --no-ri --no-rdoc
    
  2. 将Gem源代码切换成ruby-china的源: 说明文档: RubyGems 镜像- Ruby China 具体做法:

    # 推荐使用翻墙,但是现实情况中在服务器不容易做到
    $ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
    $ gem sources -l
    #显示:https://gems.ruby-china.org (确保只有 gems.ruby-china.org)
    
    # 修改默认的bundle安装源
    bundle config mirror.https://rubygems.org https://gems.ruby-china.org
    
    #升级gem本身
    $ gem update --system 
    $ gem -v
    
  3. 安装bundle

    gem install bundle
    
  4. 安装rails (最新版本5.1.2)

    gem install rails
    

六、配置一个测试rails项目

这里创建一个demo_rails作为样例来做说明。

$ rails new demo_rails --skip-bundle
  1. 初始化rails项目

    dotenv-rails用来方便管理rails所需要的各种环境变量参数

    $ cd demo_rails
    $ vi Gemfiles
    
  2. 在Gemfiles文件中,增加dotenv-rails

    gem 'dotenv-rails'
    #将以下一行的注释去掉
    gem 'therubyracer', platforms: :ruby
    

    执行bundle install

    $ bundle install
    
  3. 生成secret

    $ bundle exec rake secret
    
  4. 将生成的SECRET_KEY_BASE按照以下格式存入项目demo_rails的根目录下.env文件中

    SECRET_KEY_BASE="生成的key"
    
  5. 启动rails server

    rails server -e development -b 0.0.0.0 -p 3000
    

    如果正常启动,表示安装成功

Share Comments
comments powered by Disqus