2021再拾ruby以及在CentOS上安装Ruby3.0 vs code运行ruby 狂踩坑记录

简介: Ruby在linux上的安装(CentOS)

这几天有点事情在家里,摸到一本Ruby的书,想想已经很久没有用了,再拿起来看看。

首先,下载ruby,这里我们先只说说windows下面的安装,linux下面可以apt-get和yum安装,相对来说依赖网络镜像。

http://rubyinstaller.org/downloads/ 到这里找ruby的安装文件,一般来说,可以下载那个小点的文件,不带devkit的那个。如果网络够好,或者使用下载软件下载,可以考虑下载带有devkit的那个。

其次,安装ruby。

--windows 上面安装需要让目录不含中文、不含空格,最好是C:\abc\ruby 这种目录格式。安装之后检查自己的环境变量,将ruby安装目录下的bin目录加入path。

加入之后,重新启动一个cmd,win+R,输入cmd,输入echo %PATH%,查看自己的环境变量是不是已经在后面加上了ruby的path。

这个目录里面有ruby.exe文件和irb.cmd文件,都需要使用。irb是一个交互式命令行工具,像python的python命令一样,可以赋值运算和定义函数,检查一些简单的输入输出。

安装之后,就有了本地的ruby运行环境和命令行交互环境。输入 ruby -v,查看返回值。我装了3.0.0,返回

ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x64-mingw32]

irb会有一个> 提示符开头的环境,cmd中输入irb就进入,输入exit或quit就会退出。

装一个ide,IDE方面,rad rails曾经非常好用,试试。

折腾了几下失败了,转到最简单的Notepad++吧,先配置这个。

不过发现现在默认的notepad也不是那么爽就让你随便配置一个编辑器去运行程序了,需要添加一个插件。

我使用的是Notepad++7.8.9版本。先Alt+P 呼叫出插件菜单,进入插件管理,在输入框里面输入NPPEXEC去查找要安装的插件。点击下载安装。网络必须非常理想的情况下,才能下载到这个插件,真是见鬼了。

安装之后,F6呼叫出对话框,输入运行参数,以后编辑完ruby程序后,可以F6、回车快速运行了。但是我发现这个参数似乎对中文的支持仍然不太对,即使在文件里面添加了中文UTF-8支持,仍然不能输出中文。

编写一个带函数的程序hellorb.rb:
 

-- coding:UTF-8 --

def new1

puts "hello 你好"

end

执行new1函数

new1

[点击并拖拽以移动]

F6回车,或者Ctrl+F6,输出是:

hello 浣犲ソ

在本地装完,在CentOS(腾讯云)上也装一个吧。先wget一下3.0版本的tar.gz文件,不然的话,yum会直接安装2.0版本的,有gem更新的问题。

wget https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.0.tar.gz

要从ruby-lang这个网站下载了。下载之后,解压

tar -xzvf ruby-3.0.0.tar.gz

./configure

make

make install

顺利的话,就能装好一个3.0 然后看看自己的版本

ruby -v

如果想省事,就用以下命令

$ sudo yum install ruby #CentOS Fedora RHEL

$sudo apt-get install ruby-full #Debian Ubuntu

====以下是失败记录====

RadRails download | SourceForge.net

radrails下载网址,现在居然是0.7.2的版本。解压缩到本地,发现有一个radrails的可执行文件,有一个startup.jar。哈。执行radrails,出错,郁闷了。

报错是这样的,在configuration的log文件里面:

!MESSAGE FrameworkEvent.ERROR
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.osgi.framework.internal.core.SystemBundleActivator.start() of bundle system.bundle.

后面还有

java.lang.IllegalStateException

java.lang.NullPointerException

查了一下感觉是Eclipse的插件没有和Java版本配合好,不过我本地安装的确实是Java8版本啊。

尝试vs code,也有问题,最终仅能在terminal里面输入ruby 文件名执行 Ctrl+Shift+` 呼叫出terminal,点击terminal标签,在里面输入。这个有正确的中文输出。gem下载不了啊。更换本地地址也下载不了。

折腾了几下失败了,转到最简单的Notepad++吧,先配置这个。

vs code最后使用插件code runner成功运行了,在vs code主界面,点击积木图标(扩展),查找code runner,安装之后可以运行ruby了。

目录
相关文章
|
4天前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
51 20
|
14天前
|
网络协议 Linux 网络安全
docker centos镜像 npm安装包时报错“npm ERR! code ECONNRESET”
通过上述步骤,您可以有效解决在 Docker 中使用 CentOS 镜像安装 npm 包时遇到的 "npm ERR! code ECONNRESET" 错误。希望这些方法能帮助您顺利进行 npm 包的安装。
90 26
|
1月前
|
存储 分布式计算 Hadoop
Centos7.9安装kerberos
Centos7.9安装kerberos
82 25
|
27天前
|
存储 Shell 网络安全
Centos7.9安装openldap
Centos7.9安装openldap
52 16
|
28天前
|
数据可视化 Linux 应用服务中间件
Centos7.9安装phpldapadmin
Centos7.9安装phpldapadmin
56 15
|
1月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
3月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
151 4
|
3月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
167 1
|
3月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
3月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
202 3

热门文章

最新文章