本篇文章将教您在 MacOs High Sierra 上安装 Ruby on Rails 的最新版本。会对安装故障进行描述和排查。这份安装指南可以用来被专业开发人员来参照配置他们的工作环境。初学者也可使用。
附上原文链接:Install Ruby on Rails 5.2 · macOS High Sierra
XCode Command Line Tools
Git
Homebrew
GPG
RVM
Ruby
RubyGems
Rails
你可以使用 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-Book
如果你的 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 版本。
你可以使用 Homebrew 安装gpg, 这是一个加密程序用来检查 RVM 下载的安全性。
brew install gpg
当 GPG 安装完成之后,我们将安装 RVM 的安全秘钥:
$ command curl -sSL https://rvm.io/mpapis.asc | gpg --import -
如果你跳过这个步骤后续可能导致不能安装 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 get stable --autolibs=enable
你可以使用rvm implode
删除 RVM 痕迹 (当然你的.bash_profile 文件除外)
如果你遇到任何困难,你可以得到 RVM 团队的帮助:
[http://webchat.freenode.net/?channels=rvmhttp://webchat.freenode.net/?channels=rvm](
安装 RVM 之后,你必须关闭重启终端。
或者使用这个命令:$ source ~/.rvm/scripts/rvm
$ rvm install ruby-2.5.0
检查最新安装的 Ruby 版本:
$ ruby -v
ruby 2.5.0...
RubyGems 是 Ruby 的包管理器。我们用它来安装软件包为 Ruby 添加功能。 检查 gem 管理器的版本。你可以看到:
$ gem -v
2.6.14
当然你的计算机上可能是其它版本。
更新 Ruby gem 管理器
$ gem update --system
查看哪些 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 安装时,文档也会同时安装。开发者很少会用到这些文档(通常会在网页进行查找)。 通过如下命令设置跳过文档安装步骤:
$ echo "gem: --no-document" >> ~/.gemrc
添加gem: --no-document
至.gemrc
Bundler 是一个必需的 gem 包,它用来管理 gems 在开发和运行 Rails 应用,RVM 原来会自动安装 Bundler。在 1.26.11 版本之后,RVM 不再自动安装 Bundler。所以你必须安装它:
$ gem install bundler
Nokogiri 也是一个很重要的 Gem 包,请安装它:
$ gem install nokogiri
$ gem install rails
如果你想安装 Rails 3.2.18:
$ gem install rails --version=3.2.18
确认当前版本:
$ rails -v
Rails 5.2.0
$ mkdir workspace
$ cd workspace
$ 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
$ echo "ruby-2.2.0" > .ruby-version
$ echo "myapp" > .ruby-gemset
Rails 默认使用 SQLite.
rails new myapp --database=
这个命令将会显示所有支持的数据库
Supported for preconfiguration are: mysql, oracle, postgresql, sqlite3, frontbase, ibm_db,
sqlserver, jdbcmysql, jdbcsqlite3, jdbcpostgresql, jdbc.
MacOS 最简单的安装方法是通过 Postgres.all
创建一个使用PostgrSQL的新应用:
$ rails new myapp --database=postgresql