这几天有点事情在家里,摸到一本Ruby的书,想想已经很久没有用了,再拿起来看看。
首先,下载ruby,这里我们先只说说windows下面的安装,linux下面可以apt-get和yum安装,相对来说依赖网络镜像。
其次,安装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
====以下是失败记录====
https://sourceforge.net/projects/radrails/
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了。