首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何在CVM上安装Ruby开发环境

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

原创
作者头像
姚啊姚
修改于 2018-07-18 06:54:52
修改于 2018-07-18 06:54:52
1.5K0
举报

简介

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版本的合法性。执行以下命令:

代码语言:txt
AI代码解释
复制
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

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

代码语言:txt
AI代码解释
复制
sudo apt-get install curl

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

接下来,使用curl命令从项目的网站下载RVM安装脚本。命令前面的反斜杠可以确保我们使用常规curl命令而不是已更改的版本。

代码语言:txt
AI代码解释
复制
\curl -sSL https://get.rvm.io -o rvm.sh

让我们来看看与curl命令相关的知识:

  • -s-silent可以消除curl状态,不显示进度条。
  • -S-show-error 命令可以让curl显示错误消息。
  • -L-location标志会告诉curl处理重定向。如果服务器报告所请求的页面已移动到其他位置,则它将使用新位置再次自动执行请求。

下载后,如果要在应用脚本之前审核脚本内容,请运行:

代码语言:txt
AI代码解释
复制
less rvm.sh

使用箭头键滚动文件。使用q键退出并返回到提示界面。

若脚本的内容无误,请执行此命令以安装最新的RVM稳定版本:

代码语言:txt
AI代码解释
复制
cat rvm.sh | bash -s stable

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

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

代码语言:txt
AI代码解释
复制
source ~/.rvm/scripts/rvm

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

代码语言:txt
AI代码解释
复制
rvm install ruby --default

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

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

代码语言:txt
AI代码解释
复制
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:

代码语言:txt
AI代码解释
复制
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版本,请键入以下命令:

代码语言:txt
AI代码解释
复制
ruby -v 

这将输出特定版本的Ruby:

代码语言:txt
AI代码解释
复制
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的新文件:

代码语言:txt
AI代码解释
复制
nano hello.rb

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

代码语言:txt
AI代码解释
复制
puts "Hello, World!"

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

现在运行程序:

代码语言:txt
AI代码解释
复制
ruby hello.rb

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

代码语言:txt
AI代码解释
复制
Hello, World!

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


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

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
AkShare-股票数据-股票列表
作者寄语 新增返回 A 股所有股票代码和股票简称的接口,可以一次返回相应板块的股票列表。 更新接口 "stock_info_sz_name_code" # 深证证券交易所股票代码和简称 "stock_info_sh_name_code" # 上海证券交易所股票代码和简称 "stock_info_a_code_name" # A 股股票代码和简称 股票列表-A股 接口: stock_info_a_code_name 目标地址: 沪深交易所 描述: 获取沪深 A 股股票代码和简称数据 限量: 单次获取所有
数据科学实战
2020/07/23
4.3K0
苏宁,互联网零售的升降之路
2月25日,苏宁易购集团股份有限公司发布了重大事项停牌公告,确认了实际控制人张近东以及苏宁电器集团有限公司预计转让比例20%-25%,也表明了股权转让会助力公司股权结构的长期稳定的发展。
灵猫财经
2021/03/02
3340
聚焦北京•国家会议中心 2018“金V奖”颁奖盛典圆满举行
2018年1月18日——北京•国家会议中心,2018虚拟与增强现实产业生态高峰论坛暨“金V奖”颁奖盛典盛大举行,这是2018年初最隆重的一场VR/AR行业盛会,邀请到了1000+VR/AR行业嘉宾与会,以及HTC Vive、Pico、瑞立视、超级队长、网易、百度、联想、京东、戴尔、睿悦信息、IDEALENS、神州行VR生态港等头部企业。“金V起航,筑梦未来”2018年将是VR/AR行业重要的一年,VR硬件技术持续发展推出新品,6自由度VR一体机、高分辨率3K、4K、8K头显、线下大空间定位跟踪技术以及VR
VRPinea
2018/05/18
7670
icp备案查询api
不缓存,一手对接工信部,这个我就不放源码了,太泛滥容易炸 接口URL https://api.zets.cn/api/icp 请求方式 GET Content-Type form-data 请求Query参数 参数名 示例值 参数类型 是否必填 参数描述 key 河南蓝麓网络科技有限公司 String 是 主体名称或域名 例(baidu.com) token 0cff64a7a518b47dc5e0d66227ea1023 String 是 Token值 成功响应示例 "code": 200
Qicloud
2022/01/27
14.9K5
传荣耀将借壳在A股上市!ST日海、波导股份接连否认将被借壳!
11月22日消息,近日有传闻称手机品牌厂商荣耀计划借壳于A股市场上市,借壳潜在对象包括*ST日海(002313.Sz)、深城交(301091.SZ)、波导股份(600130.SH)等。受传闻影响,这三只股票近日股价接连大涨。对此,ST日海回应称相关传闻不属实;而波导股份也表示未曾与荣耀手机有过商议,不存在荣耀手机借壳波导股份上市事宜。
芯智讯
2022/11/28
4820
传荣耀将借壳在A股上市!ST日海、波导股份接连否认将被借壳!
爬虫0601:scrapy实战scrapy实战:智联招聘数据采集
采集的数据要被封装起来进行使用,找到并修改zhilianspider/zhilianspider/items.py,修改内容如下:
大牧莫邪
2018/08/27
7000
我逃到国企了
在2020年,我校招加入了某央企在北京的直属单位,在里面从事研发工程师的工作。下面我将分享一些入职前后的一些心得体会。
Ai学习的老章
2022/05/26
2.4K0
我逃到国企了
国产数据库名录一览
当前的大环境和技术氛围,提供给国产化技术厂商一个千载难逢的推广机会,操作系统、数据库、中间件、办公终端各领域,无论是供应商,还是使用者,比以往任何时候都更积极和主动,并且更具成效。
bisal
2022/06/30
4.6K0
手把手教你用Python网络爬虫实现上海证券交易所定期报告pdf文件下载(附代码)
这个网站上的文件大都是支持下载的,想象一下,一个经常盯盘的人,他可能每天都需要去看一些公告信息,每天都需要重复的,手动的去打开链接,然后去访问,这样做肯定可行,但是这个过程,完全可以使用Python网络爬虫来帮助解决。今天就教大家爬取该网站的公告,并且实现下载。
Python进阶者
2021/10/09
3.5K0
一 CEO 被判 6 年:编写「木马病毒」入侵金融机构,控制 2474 台设备,获利 186 万
被告人:朱某某,男,1970年出生,大学文化,系广州某某软件有限公司、深圳市某某软件有限公司、深圳市某某科技有限公司法定代表人。 一审查明事实: 一、非法获取计算机信息系统数据、非法控制计算机信息系统罪 2004年至2016年间,朱某某违法国家规定,利用木马病毒非法侵入、控制他人计算机信息系统,非法获取相关计算机信息系统存储的数据。期间,朱某某非法控制计算机信息系统2474台,利用从华夏基金管理有限公司、南方基金管理有限公司、嘉实基金管理有限公司、海富通基金管理有限公司等多家基金公司非法获取的交易指令,进
云头条
2022/08/26
8360
一 CEO 被判 6 年:编写「木马病毒」入侵金融机构,控制 2474 台设备,获利 186 万
基于SSM+SpringBoot+Vue+ElmentUI实现公司案件管理系统
技术选型         前端:Vue2 Element UI         后端:Java SSM SpringBoot maven         工具:IDEA 环境搭建 数据库 DROP DATABASE IF EXISTS `20220323exam`; CREATE DATABASE IF NOT EXISTS `20220323exam`; USE `20220323exam`; companys(公司表) DROP TABLE IF EXISTS `companys`; CREATE TA
陶然同学
2023/02/27
5660
基于SSM+SpringBoot+Vue+ElmentUI实现公司案件管理系统
AkShare-股票数据-股票更名
目标地址: http://vip.stock.finance.sina.com.cn/corp/go.php/vCI_CorpInfo/stockid/300378.phtml
数据科学实战
2020/07/23
1.4K0
【愚公系列】2023年10月 Java教学课程 138-Servlet服务器项目完整案例
以上是我们在综合案例要实现的功能。对数据的除了对数据的增删改查功能外,还有一些复杂的功能,如 批量删除、分页查询、条件查询 等功能
愚公搬代码
2025/05/28
790
【愚公系列】2023年10月 Java教学课程 138-Servlet服务器项目完整案例
AkShare-股票数据-注册制审核
2009年,创业板横空出世,资本市场竖起里程碑;2019年6月13日,科创板开板,中国资本市场开辟了新的试验田;2019年12月23日,全国人大常委会第四次审议《证券法》修订草案,推动创业板及主板证券注册制;2020年3月1日,《新证券法》正式实施,明确提及科创板注册制试点。
数据科学实战
2020/09/17
4840
优也Thingswise iDOS入选上海市服务业发展引导资金第一批拟支持项目|腾讯SaaS加速器·学员动态
来源|腾讯SaaS加速器二期项目-优也 ---- 2021年6月18日,上海发改委上海产业政策服务中心公布上海市服务业发展引导资金第一批拟支持项目,其中包括优也(腾讯SaaS加速器二期成员)《面向流程工业开发智能应用的Thingswise工业互联网平台》。目前第一批拟支持项目已进入公示阶段。 为推动本市现代服务业快速发展,进一步巩固提升服务经济为主的产业结构,根据《上海市人民政府关于印发上海市服务业发展引导资金使用和管理办法的通知》(沪府规〔2018〕5号)精神,市发展改革委、市经济信息化委、市商务
腾讯SaaS加速器
2021/06/23
1.5K0
增长引力——会展数字化转型沙龙暨腾讯企点、WeMeet联合产品发布会活动圆满举办
实体经济的数字化转型正不断加速,会展行业正在迎来新一轮的变革。2021年6月2日,“增长引力——会展数字化转型沙龙暨腾讯企点、WeMeet联合产品发布会活动”在上海腾云大厦圆满举行。 活动以“数字引领转型、创新服务模式”为主题,分享和探讨了会展企业在数字化转型过程中的经验和体会。上海市会展行业协会党委书记陈先进、党委副书记、会长桑敬民、秘书长屠建卿、IAEE 亚洲委员会主席、WeMeet CEO顾学斌、腾讯云副总裁、腾讯企点总经理张晔、腾讯企点产业智连产品总经理张苏灵、东浩兰生会展集团股份有限公司
腾讯企点
2021/06/03
1.1K0
APOC自定义函数和过程
@TOC[1] 定义说明 APOC提供相关过程来创建用户自定义的函数和过程。这些函数和过程实际上是参数化的Cypher语言查询,类似宏(Macro)的概念。在下面的案例中图库版本为ongdb-3.5.22。百度概念解释[2]宏(英语:Macro)是一种批量处理的称谓。计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器。宏这一术语也常常被用于许多
马超的博客
2022/07/04
7270
APOC自定义函数和过程
BeautifulSoup解析库select方法实例——获取企业信息
本文内容由浙江浦江中学方春林老师提供。 Requests 是用Python语言编写,基于urllib,采用Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以
Python小屋屋主
2018/04/16
9480
BeautifulSoup解析库select方法实例——获取企业信息
2017大数据版图最新发布,大数据长期看好,短期看空?
说到最近几年最热门的技术流行语,少不了云计算、大数据、人工智能、物联网等热词。不过,尽管人人(至少是企业界)言必称大数据,但是其在企业的采用周期要远远滞后于炒作周期。所以大数据从新奇酷的技术变成核心系统,从炒作到产品部署往往需要几年的时间。从去年开始,大家越来越感觉到这项技术已经在某种程度上陷入了停滞。不过好消息是,2017年大数据开始进入部署阶段,大数据的炒作逐渐散去,但它的应用却正在蓬勃发展,代表成熟度的标志性IPO也正在出现。而大数据在几年前经历的泡沫正在无可争议地转移到人工智能身上,过去几个月AI所
钱塘数据
2018/03/05
1.1K0
2017大数据版图最新发布,大数据长期看好,短期看空?
[编程经验] 拉勾网爬虫数据的后续处理
上一篇我们介绍了如何爬拉勾的数据,这次介绍一下如何分析爬下来的数据,本文以自然语言处理这个岗位为例。 上次那个爬虫的代码有一点问题,不知道大家发现没有,反正也没有人给我说。。然后后面我把我最后改好的代码附在本文的最后。 本文主要分析的是岗位职责和岗位要求,基本思路是先分词,然后统计词频,最后最词云展示出来。先看下效果 从这个图可以看出来,自然语言处理大多数需要掌握深度学习,需要用深度学习去解决问题,然后是工作经验,项目经验,以及对算法的理解。 首先分词,要正确分词,需要有一份高质量的词典,因为在岗位
用户1622570
2018/04/11
2.2K0
[编程经验] 拉勾网爬虫数据的后续处理
推荐阅读
相关推荐
AkShare-股票数据-股票列表
更多 >
交个朋友
加入[游戏服务器] 腾讯云官方交流站
游戏服运维小技巧 常见问题齐排查
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
加入[架构及运维] 腾讯云技术交流站
云架构设计 云运维最佳实践
换一批
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档