ruby语言是一种面向对象的脚本语言,很多人喜欢把它拿来跟python来做对比,在我看来吧,其实各有好处吧,但是由于python的语法更简单,拓展性更强,因此python要比ruby更加受欢迎一些。而我学习ruby的动因主要是学校里的课程要求,这里推荐一个不错的github开源项目:猜词应用的自动测试环境,网址如下:
GitHub - saasbook/hw-sinatra-saas-wordguesser: Wordguess: a scaffolded (!) ESaaS getting-started assignment using Sinatrahttps://github.com/saasbook/hw-sinatra-saas-wordguesser 好吧,言归正传,本文是记录我在配置ruby过程遇到的坑,希望能给读者们提供一点点经验,主要过程如下:
1.xcode和Command Line Tools
这个想必不用我多说,直接贴命令:xcode-select --install
2.homebrew
homebrew是一个包管理器,用于在mac上安装一些os x上没有的UNiX工具,相信习惯使用linux系统的读者们一定知道这是什么,有了homebrew才有了在mac上进行更加深入开发的可能。
官方站点:macOS(或 Linux)缺失的软件包的管理器 — Homebrewhttp://brew.sh/index_zh-cn.html
安装过程也十分简单,官网上也给出了安装命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
这里可能有小伙伴会出现这种错误,当然没问题的可以跳过这一段:
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused我是参考了另一位博主的文章,传送门:(8条消息) curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused的几种解决方式_Solo❀。的博客-CSDN博客https://blog.csdn.net/qq_43531694/article/details/106862753
使用第一个办法就可以解决这个问题。
3.rvm
RVM全称Ruby Version Manager,是一个很好用的Ruby版本号以及安装工具。由于ruby更新换代很快,因此使用rvm来安装和控制Ruby版本号。
安装指令:\curl -sSL https://get.rvm.io | bash -s stable
安装完再输入:source ~/.rvm/scripts/rvm 让 rvm 生效。
4.ruby和rubygem
这里推荐一个特别好的网站,这也是学习ruby的一个非常重要的网站,网址如下:RubyGems.org | Ruby 社区 Gem 托管https://rubygems.org/
RubyGems 是 Ruby 的一个包管理器,它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。
RubyGems 旨在方便地管理 gem 安装的工具,以及用于分发 gem 的服务器。这类似于 Ubuntu 下的apt-get, Centos 的 yum,Python 的 pip。
安装过程也非常简单,只需要一条指令:
gem update --system
如果这条指令下载失败,那么你需要去官网手动下载了,传送门:
Download RubyGems | RubyGems.org | Ruby 社区 Gem 托管https://rubygems.org/pages/download当然使用gem update --system 下载的是最新版本的rubygem,上面提到过ruby更新换代比较快,有时候你从他人移植过来的代码由于ruby的版本原因无法运行,因此你需要使用rvm来安装相对应的ruby版本,这里给出一些利用rvm对ruby进行版本控制的指令:
切换Ruby版本——RVM的安装与使用 - YooHoeh - 博客园 (cnblogs.com)https://www.cnblogs.com/YooHoeh/p/12098866.html#:~:text=RVM%20%E4%B8%8D%E4%BB%85%E5%8F%AF%E4%BB%A5%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%A4%9A%20Ruby%20%E7%89%88%E6%9C%AC%E5%85%B1%E5%AD%98%E7%9A%84%E7%8E%AF%E5%A2%83%EF%BC%8C%E8%BF%98%E5%8F%AF%E4%BB%A5%E6%A0%B9%E6%8D%AE%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86%E4%B8%8D%E5%90%8C%E7%9A%84%20gemset.,gemset%20%E5%8F%AF%E4%BB%A5%E7%90%86%E8%A7%A3%E4%B8%BA%E6%98%AF%E4%B8%80%E4%B8%AA%E7%8B%AC%E7%AB%8B%E7%9A%84%E8%99%9A%E6%8B%9F%20Gem%20%E7%8E%AF%E5%A2%83%EF%BC%8C%E6%AF%8F%E4%B8%80%E4%B8%AA%20gemset%20%E9%83%BD%E6%98%AF%E7%9B%B8%E4%BA%92%E7%8B%AC%E7%AB%8B%E7%9A%84%E3%80%82
列出已知的 Ruby 版本
rvm list known
安装一个 Ruby 版本
rvm install 2.2.0 --disable-binary
这里安装了最新的 2.2.0, rvm list known 列表里面的都可以拿来安装。
切换 Ruby 版本
rvm use 2.2.0
设置为默认版本
这样一来以后新打开的控制台默认的 Ruby 就是这个版本
rvm use 2.2.0 --default
查询已经安装的ruby
rvm list
卸载一个已安装版本
rvm remove 1.8.7
相信很多小伙伴在安装ruby版本时,有时候会遇到这个问题:
这是一个编译错误,我在找这个问题原因的时候也是花费了大量时间,在根据提示打开这个log文件,我发现错误原因为:
closure.c:264:14: error: implicit declaration of function 'ffi_prep_closure' is invalid in C99
最终在一个国外论坛上,有个老哥解决了这个问题,其实原因很简单,少了一个包,那就是libffi
使用命令安装一下:brew install libffi
安装成功后,使用命令:brew info libffi ,它会告诉你该如何配置使用libffi,如图:
根据提示,把这三条指令输入运行,如下(因电脑而异):
export LDFLAGS="-L/opt/homebrew/opt/libffi/lib"
export CPPFLAGS="-I/opt/homebrew/opt/libffi/include"
export PKG_CONFIG_PATH="/opt/homebrew/opt/libffi/lib/pkgconfig"
然后检查一下是否运行成功:
% echo $LDFLAGS
-L/opt/homebrew/opt/libffi/lib
% echo $CPPFLAGS
-I/opt/homebrew/opt/libffi/include
% echo $PKG_CONFIG_PATH
/opt/homebrew/opt/libffi/lib/pkgconfig
至此,尝试再次运行rvm install 版本号,就安装成功了。
5.还有一些进行ruby开发时可能会用得到的工具例如 ImageMagick,PostgreSQL等,可以使用brew install 进行安装,这里就不详细表述了。
6.最后我想说一下ruby语言中的ruby on rails框架,类比于python的flask和Django框架,ruby on rails是一种轻量级的web开发框架,学习ruby肯定绕不开对这个框架的学习和使用,你可以在上面提到的rubygems官方社区搜索并且下载,祝大家在ruby的学习中走得越来越远!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)