在Windows 10上安装Ruby并建立本地编程环境

介绍 (jiè

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,并使用Ruby版本管理器RVM安装最新版本的Ruby及其必要条件。然后,您将通过编写一个小的Ruby程序来测试您的环境。

前提条件

你需要一台安装了创作者更新的Windows 10电脑,并且拥有安装具有管理员权限的软件的访问权限。

步骤1 — 在Windows上安装Bash

你将使用命令行来安装和操作Ruby。命令行是一种非图形化的与计算机交互的方式。你不需要通过鼠标点击按钮,而是以文本的形式输入命令并获得基于文本的反馈。命令行,也被称为shell,允许你自动化许多日常在计算机上进行的任务,是软件开发人员的必备工具。

Windows自带两个命令行界面:经典的命令提示符和PowerShell。我们将安装Bash,这是一种在Linux和macOS上常见的流行shell和命令语言。

Note

如果你想要熟悉使用命令行界面,不妨查看《Linux终端入门》。

首先,在您的机器上启用开发者模式。要做到这一点,打开设置应用程序,选择更新和安全性,然后在侧边栏中选择开发者选项。然后勾选开发者模式选项,并接受提示以验证此更改。

接下来,打开控制面板,选择程序。然后选择打开或关闭Windows功能。在出现的组件列表中,勾选Windows子系统(Linux版)选项。然后点击确定,等待Windows安装额外的组件,这可能需要几分钟的时间。

为了确保所有新组件正确配置,您将被提示重新启动计算机。如果您不重新启动,事情将无法正常工作。

当电脑重新启动时,打开命令提示符并输入:

  1. bash

 

您将被提示从Windows商店安装Bash。这是一个免费下载,需要几分钟来下载和提取。

Output

This 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….

安装程序完成后,它会要求您创建一个用户。

Output

Please 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$

Warning

警告:Windows子系统Linux扩展了自己的文件系统,该文件系统存储在您的操作系统的隐藏文件中。微软不支持从任何Windows应用程序访问该文件系统。
然而,您可以从Bash shell访问所有现有的文件。例如,您可以在/mnt/c目录中找到C:驱动器的内容。微软建议您从这个文件夹中处理文件。这样可以使用现有的Windows工具打开和修改文件,并且仍然可以从Bash shell访问它们。
尝试从Windows程序(如文本编辑器、文件管理器和集成开发环境)中访问Windows子系统Linux文件系统的其他部分可能导致数据损坏,并且不受支持。

既然你已经安装并运行了Bash,让我们安装RVM,用它来安装Ruby及其所有的依赖项。

第二步 – 安装 RVM 和 Ruby

RVM自动化了在Ubuntu或macOS系统上设置Ruby环境的过程,而且由于您正在运行基于Ubuntu的Bash设置,这也是在Windows上快速设置的方法。让我们安装它,这样我们就可以使用它来安装Ruby。

在RVM官网上运行安装脚本是安装Ruby的最快途径。

首先,使用gpg命令联系一个公钥服务器,并请求RVM项目的密钥,该密钥用于对每个RVM发布进行签名。这样可以验证您将要下载的RVM发布的合法性。

  1. gpg –keyserver hkp://keys.gnupg.net –recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

 

接下来,安装gnupg2软件包,因为RVM的安装脚本将使用其中的组件来验证发布版本。执行以下命令安装该软件包:

  1. sudo apt-get install gnupg2

 

你将会被要求输入密码,并且应该输入你在安装 Bash 时使用的 Linux 用户的密码。然而,当你输入密码时,在终端窗口中不会显示你的按键。这是一个安全措施,并且在命令行提示输入密码时,你会经常遇到这样的情况。尽管你看不到它们,但你的按键被系统记录下来了,所以在输入完密码后按下回车键,进程会继续进行。

接下来,使用curl命令从项目网站下载RVM安装脚本。 命令前的反斜杠确保我们使用的是常规的curl命令,而不是任何修改过的、别名化的版本。

  1. \curl -sSL https://get.rvm.io -o rvm.sh

 

让我们来一起看一下与curl命令相关的标志:

  • The -s or –silent flag mutes curl so that it does not show the progress meter.
  • The -S or –show-error flag ensures that curl shows an error message if it fails.
  • The -L or –location flag will tell curl to handle redirects. If the server reports that the requested page has moved to a different location, it’ll automatically execute the request again using the new location.

一旦下载完成,如果您想在应用脚本之前审核其内容,请运行:

  1. less rvm.sh

 

使用箭头键滚动文件。按下q键退出并返回到提示符。

一旦你熟悉了脚本内容,执行以下命令来安装最新稳定版本的RVM:

  1. cat rvm.sh | bash -s stable

 

该脚本在您的Linux用户的主目录中创建了一个名为.rvm的新目录。这个目录是Ruby及其所有相关组件的安装位置,同时也包含用于安装Ruby的rvm可执行程序。安装过程会修改您的.bashrc文件,将.rvm/bin文件夹添加到您的PATH环境变量中,以便您能够轻松运行rvm命令。

然而,在您当前的会话中无法访问rvm命令。因此,请执行以下命令来解决这个问题:

  1. source ~/.rvm/scripts/rvm

 

现在使用rvm命令安装最新版本的Ruby。

  1. rvm install ruby –default

 

这个过程将下载并安装Ruby及其组件,并将这个Ruby版本设为系统的默认版本。这样做可以避免与已安装版本的Ruby发生冲突。

Output

Searching 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

如果你缺少一些重要的前提条件,安装程序将获取并安装这些前提条件。

Output

Checking 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。

Output

ruby-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版本,请键入以下命令:

  1. ruby -v

 

这将输出Ruby的特定版本。

Output

ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]

Note

为了让RVM在每次打开新的Bash会话时自动使用其版本的Ruby,你必须将Bash启动为登录shell,因为RVM会修改.bash_profile文件,该文件仅在登录shell上调用。Windows的Bash快捷方式不会启动登录shell,所以如果你要使用Ruby,只需打开一个新的命令提示符,并使用bash -l启动Bash。
如果你忘记了,每次启动Bash时只需运行命令source ~/.rvm/scripts/rvm即可。

既然安装了Ruby,让我们来编写一个程序来确保一切正常运行。

步骤3 — 创建一个简单的程序

让我们创建一个小的“你好,世界”程序。这将确保您的环境工作正常,并使您习惯创建和运行Ruby程序。

要做到这一点,使用nano创建一个名为hello.rb的新文件。

  1. nano hello.rb

 

将以下程序输入到编辑器中:

你好.rb
puts "Hello, World!"

通过按下CTRL+X退出编辑器。当提示保存文件时,按Y。

现在运行程序。

  1. ruby hello.rb

 

程序执行并将其输出显示在屏幕上。

Output

Hello, World!

这个小程序证明了您的开发环境正常工作。您可以使用这个环境继续探索Ruby,并构建更大更有趣的项目。

结论

通过准备好本地开发环境,你可以继续阅读教程《创建你的第一个Ruby程序》来进一步学习Ruby编程。

广告
将在 10 秒后关闭
bannerAds