如何在CVM上安装Ruby开发环境

简介

Ruby是一种动态编程语言,可用于编写简单脚本、游戏和Web应用程序。它于1993年首次在日本发布,在2005年作为服务器端Web开发的语言获得了普及。Ruby旨在为初学者提供易用和有趣的功能。对于初学者,甚至经验丰富的开发人员来说,这是一个很好的选择。

虽然我们有很多方法可以在Ubuntu上安装Ruby,但最简单的方法是使用 RVM,Ruby Version Manager。

在本教程中,您将通过命令行在本地Linux机器上设置Ruby编程环境。然后,您将通过编写一个简单的Ruby程序来测试您的环境。

本教程将详细介绍Ubuntu 16.04的安装过程。

准备

您将需要一台安装了Ubuntu 16.04的计算机,并且具有该计算机的管理访问权限。没有服务器的同学可以在这个页面购买。

第一步、学会使用终端

使用命令行来安装Ruby。命令行是与计算机交互的非图形方式。命令行(也称为shell)允许您自动执行多种任务,是软件开发人员必不可少的工具。

在Windows服务器上,你可以通过ssh工具连接到腾讯云服务器上,相关文档详见这里:https://cloud.tencent.com/document/product/213/5436

现在让我们安装RVM,我们将使用它来安装Ruby及其所有必要组件。

第二步、安装RVM和Ruby

RVM将自动完成在Ubuntu系统上设置Ruby环境的过程。使用RVM安装Ruby的最快方法是运行RVM网站上托管的安装脚本。

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

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

我们将用curl下载RVM安装脚本。

sudo apt-get install curl

接下来将提示您输入密码以安装程序。但是,当您键入密码时,您的密码将不会显示在"终端"窗口中。这是一种安全措施,因此在您输入密码后按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

该脚本会在您的主目录中创建一个名为.rvm的新目录。这是安装Ruby所有相关组件。安装过程会修改您的.bashrc文件以及文件夹.rvm/bin添加到您的环境变量PATH中,以便您可以轻松地运行rvm命令。

但是,在当前会话中将无法访问rvm命令。所以我们执行此命令来解决这个问题:

source ~/.rvm/scripts/rvm

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

rvm install ruby --default

此过程将下载并安装Ruby及其组件,并使此版本的Ruby成为系统的默认版本。

如果您缺少一些重要的先决条件,安装程序将获取这些先决条件并进行安装。它可能会要求您提供密码。

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

满足先决条件后,RVM将下载并安装Ruby:

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还安装了一些相关工具,包括交互式Ruby控制台irb,一个可以运行自动化脚本的程序rake和可以轻松安装和更新您项目中使用的Ruby库gem

要检查已安装的Ruby版本,请键入以下命令:

ruby -v 

这将输出特定版本的Ruby:

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

在我们开始使用Ruby之前,让我们再对系统进行一次修改。为了让RVM在您打开新的终端窗口时自动使用其版本的Ruby,您的终端必须打开并登录shell,因为RVM会修改.bash\_profile文件,而该文件只能在登录shell时调用。在Ubuntu上,默认终端会打开一个交互式shell,但是不会调用此文件。要更改此 选项 ,请选择终端中的 编辑 菜单,选择 配置文件首选项 ,选择 命令 选项卡,然后选中 运行命令 旁边的框 作为登录shell 。如果您觉得这项操作有些繁琐,您也可以在每次启动新的终端会话时运行source ~/.rvm/scripts/rvm命令以达到相同效果。

现在您已经安装了Ruby,接下来让我们编写一个程序。

第三步、创建一个简单的程序

让我们创建一个简单的Hello,World程序。这将确保我们的环境能正常工作,并让您轻松创建和运行Ruby程序。

为此,请使用nano创建一个名为hello.rb的新文件:

nano hello.rb

在编辑器中键入以下程序:

puts "Hello, World!"

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

现在运行程序:

ruby hello.rb

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

Hello, World!

只要输出Hello, World!证明您有一个可用的开发环境。您可以使用此环境继续探索Ruby并构建更强大,更有趣的项目。快购买一台服务器尝试,或试用腾讯云开发者实验室搭建环境


参考文献:《How To Install Ruby and Set Up a Local Programming Environment on Ubuntu 16.04》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

关于shell中的pl/sql脚本错误排查与分析(r4笔记第21天)

今天有个同事问我一个问题,他说运行shell脚本的时候抛出了ORA 错误,但是对于错误的原因没有思路,想让我帮他看看。 我查看了下,脚本的结构比较清晰。 脚本是...

32450
来自专栏python3

python3--IO模型,阻塞,非阻塞,多路复用,异步,selectors模块

结论:协程任务开启,并不一定会执行,它需要I/O(阻塞)才能执行,上面代码的time.sleep(1)模拟了I/O(阻塞)

20820
来自专栏xingoo, 一个梦想做发明家的程序员

【翻译】Tomcat 6.0 部署与发布

本篇参考Tomcat官方文档:《First Webapp》翻译,并结合自己的开发经验介绍关于tomcat部署以及发布的相关内容。 1 目录结构   在to...

20790
来自专栏乐百川的学习频道

Golang学习笔记 包和项目构成

工作目录 先来说说Golang的工作目录,安装好Golang后,需要做的一件事情就是设置工作目录,所有的项目、工具、第三方包会存放到工作目录中。默认情况下工作目...

19290
来自专栏JAVA烂猪皮

一篇文章了解RPC框架原理

RPC(Remote Procedure Call)–远程过程调用,通过网络通信调用不同的服务,共同支撑一个软件系统,微服务实现的基石技术。使用RPC可以解耦系...

8520
来自专栏闵开慧

Java自学之道(二) Java开发环境准备

Java自学之道(二) Java开发环境准备   这里主要讲JDK的配置,JDK的安装和安装一般的应用软件一样,下载JDK 安装就可以了,但安装后主要是配置好...

32460
来自专栏飞雪无情的博客

Go语言实战笔记(十二)| Go goroutine

一般的程序,如果没有特别的要求的话,是顺序执行的,这样的程序也容易编写维护。但是随着科技的发展、业务的演进,我们不得不变写可以并行的程序,因为这样有很多好处。

12930
来自专栏Web项目聚集地

Maven学习笔记(一)

本教程作者是「小灯光环」,作者简介:全栈开发工程师,CSDN博客专家,CSDN论坛 Java Web/Java EE版主,热爱技术,乐于分享,在分布式Web开发...

8920
来自专栏静下来

解决ssh出现Host key verification failed错误的方法

image.png ssh登陆Linux服务器的时候,如果出现了Host key verification failed的错误,需要清空下本地ip密码记录。 出...

37770
来自专栏zhisheng

Python爬虫入门三之Urllib库的基本使用

那么接下来,小伙伴们就一起和我真正迈向我们的爬虫之路吧。 1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的...

37450

扫码关注云+社区

领取腾讯云代金券