如果說電子游戲是第九藝術,那么,編程技術則配得上第十藝術的雅稱。藝術發(fā)展的普遍規(guī)律就是要給與人們對于藝術作品的更高層感受,而Matz的Ruby語言則正是這樣一件藝術品。
無論是語法還是理念,都讓Ruby開發(fā)者感受到款待,如此,Ruby代碼就像活了過來,它們時而高聲,卻藏不住優(yōu)雅,時而細語,卻意外地鏗鏘,真是美妙,這種莊重而溫柔的魅力,用那一代奉松本行弘為偶像的人的話說,叫劍膽琴心?,F(xiàn)在的話又講,心有猛虎,細嗅薔薇。
本次,讓我們再一次全平臺構建Ruby3開發(fā)環(huán)境,感受Ruby3的魅力。
Mac平臺(ARM/X86)
都知道Mac和Ruby是天作之合,你中有我,我中有你,銜接得天衣無縫,拉鏈般重合。
首先安裝Homebrew,它是一款由Ruby開發(fā)的包管理工具,目前支持MacOS和Linux系統(tǒng),通過Homebrew,我們可以多快好省地安裝最新的Ruby3.0以上版本。
如果是M系列芯片的Mac電腦,運行命令安裝ARM架構版本的Homebrew:
/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"
隨后在終端執(zhí)行命令echo $SHELL獲得終端類型:
/bin/zsh => zsh => .zprofile
/bin/bash => bash => .bash_profile
如果是zsh終端,輸入命令配置環(huán)境變量:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
反之,bash終端則輸入如下命令:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.bash_profile
eval "$(/opt/homebrew/bin/brew shellenv)"
從MacOS Catalina(10.15.x) 版開始,Mac使用zsh為默認終端。
如果是Intel芯片的Mac,可以選擇X86架構的Homebrew:
arch -x86_64 /bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"
最后注意X86架構的Homebrew默認路徑為:/usr/local/bin/brew
然后再執(zhí)行source ~/.zprofile或source ~/.bash_profile命令更新文件。
安裝好之后,在終端輸入命令,查看brew版本:
? ~ brew -v
Homebrew 3.6.4
Homebrew/homebrew-core (git revision 375065e9c3a; last commit 2022-10-05)
Homebrew/homebrew-cask (git revision 7068d45cf4; last commit 2022-10-05)
說明安裝成功,如果是老版本,可以運行命令進行更新:
? ~ brew cleanup && brew update
Already up-to-date.
除此之外,也可以為Homebrew設置一下國內(nèi)源:
# brew
git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git
# core
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
# cask
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zprofile
source ~/.zprofile
但事實上,有時候國內(nèi)源由于同步延遲問題,會和國外源有一些微小的差異,而這些差異往往會導致Ruby軟件的編譯失敗,所以兩種源各有利弊,各自斟酌。
接下來我們來安裝Ruby3,業(yè)界比較主流的安裝方式大抵兩種:rvm或者rbenv,這里我們使用rbenv,它其實就是一個類似python中conda一樣的多版本管理軟件包,可以方便一些老項目以低版本ruby運行,比如ruby1.9:
brew install ruby-build rbenv
之后將rbenv命令添加到zsh命令行的環(huán)境變量中:
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.zshrc
source ~/.zshrc
重啟命令行,鍵入rbenv:
? ~ rbenv
rbenv 1.2.0
Usage: rbenv <command> [<args>]
Some useful rbenv commands are:
commands List all available rbenv commands
local Set or show the local application-specific Ruby version
global Set or show the global Ruby version
shell Set or show the shell-specific Ruby version
install Install a Ruby version using ruby-build
uninstall Uninstall a specific Ruby version
rehash Rehash rbenv shims (run this after installing executables)
version Show the current Ruby version and its origin
versions List installed Ruby versions
which Display the full path to an executable
whence List all Ruby versions that contain the given executable
See `rbenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/rbenv/rbenv#readme
可以看到最新的1.2.0版本。
隨后鍵入命令查看目前可編譯的Ruby版本:
~ rbenv install --list
2.6.10
2.7.6
3.0.4
3.1.2
jruby-9.3.8.0
mruby-3.1.0
picoruby-3.0.0
rbx-5.0
truffleruby-22.2.0
truffleruby+graalvm-22.2.0
這里我們選擇安裝3.0.4版本:
rbenv install 3.0.4
安裝成功后鍵入rbenv versions:
~ rbenv versions
system
* 3.0.0 (set by /Users/liuyue/.rbenv/version)
3.0.4
列出所有安裝好的版本。
隨后可以使用 rbenv global命令來切換版本:
~ rbenv global 3.0.4
? ~ rbenv versions
system
3.0.0
* 3.0.4 (set by /Users/liuyue/.rbenv/version)
如果某個版本不再需要,也可以進行uninstall卸載操作:
? ~ rbenv uninstall 3.0.0
rbenv: remove /Users/liuyue/.rbenv/versions/3.0.0? [yN] y
? ~ rbenv versions
system
* 3.0.4 (set by /Users/liuyue/.rbenv/version)
至此,大功告成,接著進入ruby命令行工具irb,終端輸入:irb
與Python執(zhí)行和終端使用同一命令不同的是,Ruby的執(zhí)行命令為ruby,而命令行則是irb
irb是Ruby附帶的交互式編程環(huán)境,它是由石冢啟十先生撰寫的:
~ irb
irb(main):001:0> puts "你好,Ruby"
你好,Ruby
=> nil
接著可以使用exit或者quit命令退出Ruby命令行:
? ~ irb
irb(main):001:0> puts "你好,Ruby"
你好,Ruby
=> nil
irb(main):002:0> exit
? ~
Docker(其他平臺構建Ruby開發(fā)環(huán)境)
如果使用的是Windows平臺或者其他系統(tǒng),我們可以使用Docker的方式快速搭建環(huán)境,Docker安裝請參見:一寸宕機一寸血,十萬容器十萬兵|Win10/Mac系統(tǒng)下基于Kubernetes(k8s)搭建Gunicorn+Flask高可用Web集群。
安裝完成之后,首先下載ruby3.0.4鏡像:
[root@instance-7dojaq0e ruby3]# docker pull ruby:3.0.4-slim
3.0.4-slim: Pulling from library/ruby
31b3f1ad4ce1: Pull complete
9ecf19185ffb: Pull complete
7201eddc3a4c: Pull complete
384b637b5031: Pull complete
e878247dc643: Pull complete
Digest: sha256:5b99cbdb905610eb1aa47c24c15b724045e65dab0b5fd1c069f5f722895724e9
Status: Downloaded newer image for ruby:3.0.4-slim
docker.io/library/ruby:3.0.4-slim
下載完成之后,啟動容器:
docker run -it ruby:3.0.4-slim
隨后即可進入Ruby命令行:
[root@instance-7dojaq0e ~]# docker run -it ruby:3.0.4-slim
irb(main):001:0> puts "你好 ruby"
你好 ruby
=> nil
簡單方便。文章來源:http://www.zghlxwxcb.cn/news/detail-807440.html
結語
按照固有思維方式,人們總以為時下最熱門的語言才是學習的目標,但Ruby除了基礎語法之外,還給了一些看不見、摸不著的東西,我認為這在目前盛行“實惠”價值觀的時候,提一提還是必要的。很多事情不用問值不值得,只用問,它對你來說,是不是有若珍寶。最后,謹以此系列教程獻給司徒正美兄,我的Ruby領路人,真正的Ruby高手,大神中的大神,正道是:司徒正美成絕響,人間不見Ruby's Louvre。文章來源地址http://www.zghlxwxcb.cn/news/detail-807440.html
到了這里,關于時間老去,Ruby不死,Ruby語言基礎入門教程之Ruby3全平臺開發(fā)環(huán)境搭建EP00的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!