介绍
Ruby 是一种动态编程语言,您可以使用它编写从简单脚本到游戏和Web应用程序等任何内容。它于1993年首次在日本发布,但在2005年作为服务器端Web开发语言而受到欢迎。Ruby被设计为易于使用,对初学者而言既有趣又强大,足以创建复杂的系统。这对初学者和经验丰富的开发人员来说都是一个不错的选择。
虽然有许多在Windows上设置Ruby的方法,但微软建议您使用Windows子系统用于Linux(WSL)和Bash进行Ruby开发。WSL是Windows 10的一个功能,允许您在Windows上运行本机Linux命令行工具。许多Ruby库被设计为在Linux上运行,并且在Windows上运行时可能出现问题。
为解决这个问题,微软与Canonical和其他Linux发行版合作,实现了Bash shell和Linux命令行工具的本机支持。安装了Bash和WSL后,您将使用喜爱的Windows工具编辑文件,但使用Bash和命令行工具执行Ruby及其相关工具。
在本教程中,您将使用命令行在本地 Windows 10 计算机上设置 Ruby 编程环境。您将配置 Windows 上的 Bash,然后使用 RVM(Ruby Version Manager)安装最新版本的 Ruby 及其先决条件。然后,您将通过编写一个小的 Ruby 程序来测试您的环境。
先决条件
您需要运行 Windows 10 的计算机,具有创作者更新,并具有安装软件的管理权限。
步骤 1 — 在 Windows 上安装 Bash
您将使用命令行安装和使用 Ruby。命令行是与计算机交互的非图形方式。您将不再用鼠标点击按钮,而是键入命令作为文本并接收基于文本的反馈。命令行,也称为 shell,让您可以自动化您每天在计算机上执行的许多任务,是软件开发人员的必备工具。
Windows提供两种开箱即用的命令行界面:经典的命令提示符和PowerShell。我们将安装Bash,这是一种流行的Shell和命令语言,你会在Linux和macOS上找到它。
如果你想熟悉使用命令行界面,请查看Linux终端入门。
首先,在计算机上启用开发人员模式。要做到这一点,打开设置应用程序,选择更新与安全,然后在侧边栏中选择开发人员。然后勾选开发人员模式选项,并接受提示要求您验证此更改。
接下来,打开控制面板,选择程序。然后选择打开或关闭Windows功能。在出现的组件列表中,选中Windows子系统用于Linux(Beta版)选项。然后点击确定,等待Windows安装额外的组件,这可能需要几分钟。
系统会提示您重新启动计算机,以确保所有新组件都正确配置。如果您不重新启动,可能会出现问题。
计算机重新启动后,打开命令提示符并键入:
- bash
系统会提示您从Windows商店安装Bash。这是一个免费下载,需要几分钟进行下载和提取。
OutputThis will install Ubuntu on Windows, distributed by Canonical
and licensed under its terms available here:
https://aka.ms/uowterms
Press "y" to continue: y
Downloading from the Windows Store... 100%
Extracting filesystem, this will take a few minutes....
安装程序完成后,它将要求您创建一个用户:
OutputPlease create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms.wslusers
Enter new UNIX username: Sammy
Enter new UNIX password:
输入您想使用的用户名,然后按 ENTER
键,然后输入密码。当您输入密码时,您的按键不会显示在终端窗口中。这是一项安全措施,在命令行提示输入密码时经常会看到。尽管您看不到它们,但您的按键被系统记录下来,所以在输入密码后按下 ENTER
键,进程将继续。
最后,Bash 将启动,您将看到一个显示您机器名称的提示。
sammy@yourmachine:/mnt/c/Users/Sammy$
警告:Windows 子系统的 Linux 具有其自己的文件系统,存储在您操作系统上的一个隐藏文件中。微软不支持从任何 Windows 应用程序访问此文件系统。
但是,您所有现有的文件都可以从 Bash shell 中访问。例如,您会在/mnt/c
目录中找到C:
驱动器的内容。微软建议您从此文件夹中处理文件。这样,您就可以使用现有的 Windows 工具打开和修改文件,并仍然可以从 Bash shell 访问它们。
尝试从 Windows 程序(如文本编辑器、文件管理器和 IDE)访问 Windows 子系统的 Linux 文件系统的其他部分中的文件可能会导致数据损坏,并且不受支持。
现在您已经安装并运行了 Bash,让我们安装 RVM,我们将使用它来安装 Ruby 及其所有依赖项。
步骤2 — 安装RVM和Ruby
RVM自动化了在Ubuntu或macOS系统上设置Ruby环境的过程,由于您正在运行的Bash设置是基于Ubuntu的,这也是在Windows上设置事物的最快方式。让我们安装它,这样我们就可以使用它来安装Ruby。
使用RVM安装Ruby的最快方法是运行托管在RVM网站上的安装脚本。
首先,使用gpg
命令联系公钥服务器,并请求RVM项目的密钥,该密钥用于签署每个RVM发布版。这样可以验证您将要下载的RVM发布版的合法性。
- gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
接下来,安装gnupg2
包,因为RVM的安装脚本将使用该组件来验证发布版。执行以下命令安装此软件包:
- sudo apt-get install gnupg2
系统会提示您输入密码,请输入您在安装Bash时用于Linux用户的密码。但是,当您输入密码时,您在终端窗口中不会看到键入的字符。这是一项安全措施,在命令行提示输入密码时经常会看到。尽管您看不到它们,但您的击键正在被系统记录,因此在输入密码后,请按下ENTER
键,进程将继续。
下一步,使用 curl
命令从项目网站下载 RVM 安装脚本。命令前面的反斜杠确保我们使用的是常规的 curl 命令,而不是任何经过修改的、别名化的版本。
- \curl -sSL https://get.rvm.io -o rvm.sh
让我们详细了解与 curl
命令相关的标志:
- 使用
-s
或--silent
标志将curl
设置为静音模式,不显示进度表。 - 使用
-S
或--show-error
标志确保curl
在失败时显示错误消息。 - 使用
-L
或--location
标志告诉curl
处理重定向。如果服务器报告请求的页面已经移动到不同的位置,它将自动使用新的位置再次执行请求。
一旦下载完成,如果您想在应用脚本之前审查脚本的内容,请运行:
- less rvm.sh
使用箭头键滚动文件。使用 q
键退出并返回到提示符。
一旦您对脚本的内容感到满意,请执行此命令安装最新的稳定版本 RVM:
- cat rvm.sh | bash -s stable
脚本将在您的 Linux 用户主目录中创建一个名为 .rvm
的新目录。这是 Ruby 及其所有相关组件的安装位置,以及您用于安装 Ruby 的 rvm
可执行程序。安装过程会修改您的 .bashrc
文件,将 .rvm/bin
文件夹添加到您的 PATH
环境变量中,以便您可以轻松运行 rvm
命令。
然而,rvm
命令在您当前的会话中无法访问。因此执行此命令来修复:
- source ~/.rvm/scripts/rvm
现在使用rvm
命令来安装最新版本的Ruby:
- rvm install ruby --default
此过程将下载并安装Ruby及其组件,并使此版本成为系统默认使用的版本。这将避免冲突,如果您已经安装了某个版本的Ruby。
OutputSearching for binary rubies, this might take some time.
Found remote file https://rvm_io.global.ssl.fastly.net/binaries/ubuntu/16.04/x86_64/ruby-2.4.0.tar.bz2
如果您缺少一些重要的先决条件,安装程序将获取这些先决条件并安装它们:
OutputChecking requirements for ubuntu.
Installing requirements for ubuntu.
Updating system....
Installing required packages: gawk, libssl-dev, zlib1g-dev, libyaml-dev, libsqlite3-dev, sqlite3, autoconf, libgmp-dev, libgdbm-dev, libncurses5-dev, automake, libtool, bison, libffi-dev, libgmp-dev, libreadline6-dev..................
Requirements installation successful.
安装脚本可能会要求您输入密码,您应该使用在安装Bash时为Linux用户创建的密码。
一旦满足了先决条件,RVM将下载并安装Ruby:
Outputruby-2.4.0 - #configure
ruby-2.4.0 - #download
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 16.4M 100 16.4M 0 0 4828k 0 0:00:03 0:00:03 --:--:-- 4829k
ruby-2.4.0 - #validate archive
ruby-2.4.0 - #extract
ruby-2.4.0 - #validate binary
ruby-2.4.0 - #setup
ruby-2.4.0 - #gemset created /home/brian/.rvm/gems/ruby-2.4.0@global
ruby-2.4.0 - #importing gemset /home/brian/.rvm/gemsets/global.gems..............................
ruby-2.4.0 - #generating global wrappers........
ruby-2.4.0 - #gemset created /home/brian/.rvm/gems/ruby-2.4.0
ruby-2.4.0 - #importing gemsetfile /home/brian/.rvm/gemsets/default.gems evaluated to empty gem list
ruby-2.4.0 - #generating default wrappers........
脚本完成后,最新版本的Ruby已安装。
除了Ruby之外,RVM还安装了一些相关工具,包括irb
,交互式Ruby控制台,rake
,可运行自动化脚本的程序,以及gem
,它使得安装和更新您可能在自己的项目中使用的Ruby库变得容易。
要检查您安装的Ruby版本,请键入此命令:
- ruby -v
这将输出具体的Ruby版本:
Outputruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]
为了让RVM在每次打开新的Bash会话时自动使用其版本的Ruby,您必须将Bash启动为登录shell,因为RVM修改了.bash_profile
文件,该文件仅在登录shell上调用。Bash for Windows快捷方式不会启动登录shell,因此如果要使用Ruby,只需打开新的命令提示符并使用bash -l
启动Bash。
如果您忘记了,只需在每次启动Bash时运行命令source ~/.rvm/scripts/rvm
。
现在Ruby已安装好了,让我们编写一个程序来确保一切都正常工作。
步骤3 — 创建一个简单的程序
让我们创建一个小的“Hello, World”程序。这将确保您的环境正常工作,并使您能够轻松创建和运行Ruby程序。
为此,请使用nano
创建一个名为hello.rb
的新文件:
- nano hello.rb
在编辑器中键入以下程序:
puts "Hello, World!"
通过按CTRL+X
退出编辑器。在提示保存文件时按Y
。
现在运行程序:
- ruby hello.rb
程序执行并将输出显示到屏幕上:
OutputHello, World!
这个小程序证明您拥有一个正常工作的开发环境。您可以使用此环境继续探索Ruby并构建更大、更有趣的项目。
结论
当您的本地计算机已准备好进行软件开发时,您可以通过阅读教程创建您的第一个 Ruby 程序来进一步了解 Ruby 编码。