新手问题 在 MacOS High Sierra 安装 Ruby on Rails

dawei · April 20, 2018 · 3960 hits

在 MacOS High Sierra 安装 Ruby on Rails

本篇文章将教您在 MacOs High Sierra 上安装 Ruby on Rails 的最新版本。会对安装故障进行描述和排查。这份安装指南可以用来被专业开发人员来参照配置他们的工作环境。初学者也可使用。

附上原文链接:Install Ruby on Rails 5.2 · macOS High Sierra

摘要

  1. 更新你的系统至 MacOS High Sierra
  2. 安装 XCode Command Line Tools
  3. 安装配置 Git
  4. 安装 Homebrew
  5. 安装 GPG
  6. 安装 RVM
  7. 安装 Ruby
  8. 更新 RubyGems
  9. 安装 Rails

更新 MacOS 至 10.13

怎样升级到 macOS High Sierra

终端程序

你可以使用 Mac 自带的终端,当然我推荐你使用iterm2

检查是否安装了 XCode

检查你是否安装过 XCode:

$ xcode-select -p

如果出现:

xcode-select: error: unable to get active developer directory...

则是未安装。下一个节我们将一起安装 XCode

如果出现:

/Applications/Xcode.app/Contents/Developer

或者

/Library/Developer/CommandLineTools

则证明你的电脑已经安装过 XCode

XCode 更新请到 App Store

注意:如果你看到了这样的路径 /Applications/Apple Dev Tools/Xcode.app/Contents/Developer

你必须删除XCode 重新安装。如果这样 RVM 将会安装失败。

RVM cannot accommodate spaces in a path.

安装 XCode Command Line Tools

命令:$ gcc

如果 XCode 未安装,你将看到如下图:

另外一种安装方法是:$ xcode-select --install

你也会看到如上图,接下来点击“安装”就 OK(这将需要一些时间,依照您的网络环境而定)。

最后确定安装是否成功:

$ xcode-select -p

/Library/Developer/CommandLineTools

确定 gcc 是否成功安装:

$ gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.0.0 (clang-700.1.76)
Target: x86_64-apple-darwin15.0.0
Thread model: posix

配置 Git

关于 Git 的使用请参照 Git 官方文档 Git-Book

安装 Homebrew

如果你的 Mac 未设置密码,那么你不能安装 homebrew 检查 Homebrew 是否安装:

$ brew
-bash: brew: command not found

RVM 需要依赖Homebrew,Homebrew 是 MacOS 的包管理器。很多开发者利用它安装和管理各种各样的 Unix 软件包。 安装命令:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装脚本将会警告询问你的 Mac 密码:

WARNING: Improper use of the sudo command could lead to data loss...
To proceed, enter your password...
Password:

输入密码的过程中你不会看到字符,输入完成之后尽管按下 Enter 键

你可能注意到我们用到 ruby 来安装 Homebrew。我们使用 MacOS 内置的 Ruby 来安装 Homebrew,等下我们将使用 RVM 添加一个新的 Ruby 版本。

安装 GPG

你可以使用 Homebrew 安装gpg, 这是一个加密程序用来检查 RVM 下载的安全性。

brew install gpg

当 GPG 安装完成之后,我们将安装 RVM 的安全秘钥:

$ command curl -sSL https://rvm.io/mpapis.asc | gpg --import -

如果你跳过这个步骤后续可能导致不能安装 RVM

安装 RVM

RVM,Ruby 版本管理器,可以用它来安装和管理 Ruby 和 Rails 版本。 如果你的 Mac 用户名包含了空格字符,你必须删除空格。 RVM 网站教你怎样安装 RVM。 这是更简单的方式:

$ \curl -L https://get.rvm.io | bash -s stable

如果在安装过程中看到如下信息:

mkdir: /etc/openssl: Permission denied
mkdir -p "/etc/openssl" failed, retrying with sudo
your password required for 'mkdir -p /etc/openssl':

请输入你的 Mac 密码。 在安装过程中你可能需要安装 Jave SE 6

如果你已经安装了 RVM

更新命令:

$ rvm get stable --autolibs=enable

RVM 故障处理

你可以使用rvm implode删除 RVM 痕迹 (当然你的.bash_profile 文件除外) 如果你遇到任何困难,你可以得到 RVM 团队的帮助: [http://webchat.freenode.net/?channels=rvmhttp://webchat.freenode.net/?channels=rvm](

关闭重启终端

安装 RVM 之后,你必须关闭重启终端。 或者使用这个命令:$ source ~/.rvm/scripts/rvm

安装 Ruby

$ rvm install ruby-2.5.0

检查最新安装的 Ruby 版本:

$ ruby -v
ruby 2.5.0...

检查 Gem 管理器

RubyGems 是 Ruby 的包管理器。我们用它来安装软件包为 Ruby 添加功能。 检查 gem 管理器的版本。你可以看到:

$ gem -v
2.6.14

当然你的计算机上可能是其它版本。

更新 Ruby gem 管理器

$ gem update --system

RVM 的全局设置

查看哪些 gem 是全局安装的

$ rvm gemset use global
$ gem list

一个无故障的开发环境需要最新版本的默认 gem 几个与 Ruby 或 RVM 默认安装的 Gem:

获取还有一些其它的。

查看旧的 gem 列表:

$ gem outdated
### list not shown for brevity

更新旧的 gem:

$ gem update
### list not shown for brevity

更快的安装 Gem

默认情况下,在 gem 安装时,文档也会同时安装。开发者很少会用到这些文档(通常会在网页进行查找)。 通过如下命令设置跳过文档安装步骤:

$ echo "gem: --no-document" >> ~/.gemrc

添加gem: --no-document.gemrc

安装 Bundler

Bundler 是一个必需的 gem 包,它用来管理 gems 在开发和运行 Rails 应用,RVM 原来会自动安装 Bundler。在 1.26.11 版本之后,RVM 不再自动安装 Bundler。所以你必须安装它:

$ gem install bundler

安装 Nokogiri

Nokogiri 也是一个很重要的 Gem 包,请安装它:

$ gem install nokogiri

安装 Rails

$ gem install rails

如果你想安装 Rails 3.2.18:

$ gem install rails --version=3.2.18

确认当前版本:

$ rails -v
Rails 5.2.0

创建一个工作文件夹

$ mkdir workspace
$ cd workspace

创建一个新的 Rails Application

$ mkdir myapp
$ cd myapp
$ rvm use ruby-2.5.0@myapp --ruby-version --create
$ gem install rails
$ rails new .

快速测试

$ rails -T

通过 Rails Server 命令运行 Rails Application:

$ rails server

为已有的 Application 指定一个 Gemset

$ echo "ruby-2.2.0" > .ruby-version
$ echo "myapp" > .ruby-gemset

Rails 数据库

Rails 默认使用 SQLite.

rails new myapp --database= 这个命令将会显示所有支持的数据库

Supported for preconfiguration are: mysql, oracle, postgresql, sqlite3, frontbase, ibm_db, 

sqlserver, jdbcmysql, jdbcsqlite3, jdbcpostgresql, jdbc.

PostgreSQL

MacOS 最简单的安装方法是通过 Postgres.all

创建一个使用PostgrSQL的新应用:

$ rails new myapp --database=postgresql

No Reply at the moment.
You need to Sign in before reply, if you don't have an account, please Sign up first.