Answers:
Raspbian仓库中有一个ruby 2.3软件包,但是由于apt show ruby
在“ jessie”系统上显示2.1,所以我认为这是一个“ stretch”软件包-即,当前测试/不稳定分支的一部分。
但是,我ldd
在上面运行,libruby2.3
仅它们本身就没有jessie所不具备的任何要求,因此您可以通过以下方式安装它们:
编辑/etc/apt/sources.list
并添加一行:
deb http://archive.raspbian.org/raspbian/ stretch main
运行apt get update
; 可能需要一段时间。
然后尝试apt install ruby2.3
。这应该可以工作,但是发行版中可能存在红宝石2.3宝石,这需要对系统进行全面升级才能延伸。我有一个pi几个月前就做过,现在还不错,但是我不使用ruby,仅将pi用于特定的事情,因此请记住,全面升级到测试可能(但很可能不会)在并发症中。
以这种方式升级可能还会使使用发行宝石更加复杂-再次,我不是红宝石用户,所以我不再赘述这种可能性。可能使用它自己的软件包管理系统来安装ruby模块,并且不会apt
绕开它。尽管apt最终可能还是想要偶尔安装一些依赖项,但使用它们时不应优先。
在某些情况下,使用gem
相反会要求您apt install
-dev
打包要针对模块进行编译的内容,并且其中可能有少数根本无法使用。
Debian(以及Raspbian)对版本控制有一个保守的政策,这意味着他们宁愿远离稳定分支(目前是jessie)的前沿,但也要保持一个相当稳定的“不稳定/测试”分支(拉伸)-或曾经有过一段时间,现在已经有了。
所以我的建议是继续努力。您现在已经意识到了警告,当然您应该无论如何都要备份重要数据,因此可能没有太大的风险。
/etc/apt/sources.list
[在上面修复]。我不确定使用一种与另一种的相关性(如果有的话),但sources.list
绝对可以。
使用Raspbian Stretch(9.4)在RPi3上安装Ruby
有两种方法可以在RPi上安装ruby:
ruby2.3
APT软件包。sudo apt-get install ruby2.3
这还将安装其他依赖项:
libruby2.3 rake ruby ruby-did-you-mean ruby-minitest ruby-net-telnet
ruby-power-assert ruby-test-unit ruby2.3 rubygems-integration
但是,众所周知,Raspbian发行版维护人员喜欢保留版本发布,因此与可用软件包相比,该软件包很可能已经过时了。要获得最新(甚至开发人员)版本,请使用下面的RVM方法。
什么是RVM?
该红宝石版本管理(RVM)是一个命令行工具,它可以让你轻松地安装,管理和工作与多个Ruby环境从译员台宝石。
在RPi上安装Ruby 的正确方法是遵循以下位置之一的指示:
无论哪种方式,都要求您像这样从curl响应输出中直接运行脚本。
(不要使用sudo!)
\curl -sSL https://get.rvm.io | bash -s stable --ruby
但是,出于明显的安全原因,通常不建议这样做,因为您不知道发生了什么或正在发生什么!
因此,请执行以下操作。
cd ~/Downloads/
\curl -sSL https://get.rvm.io -o rvm-installer
# ^^ That actually resolve to:
# curl -sSL https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer -o rvm-installer
chmod 755 rvm-installer
./rvm-installer
Downloading https://github.com/rvm/rvm/archive/master.tar.gz
Installing RVM to /home/pi/.rvm/
Adding rvm PATH line to /home/pi/.profile /home/pi/.mkshrc /home/pi/.bashrc /home/pi/.zshrc.
Adding rvm loading line to /home/pi/.profile /home/pi/.bash_profile /home/pi/.zlogin.
Installation of RVM in /home/pi/.rvm/ is almost complete:
* To start using RVM you need to run `source /home/pi/.rvm/scripts/rvm`
in all your open shell windows, in rare cases you need to reopen all shell windows.
. /home/pi/.rvm/scripts/rvm
rvm list
# No rvm rubies installed yet. Try 'rvm help install'.
rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.10]
[ruby-]2.3[.7]
[ruby-]2.4[.4]
[ruby-]2.5[.1]
[ruby-]2.6[.0-preview1]
ruby-head
...
不幸的rvm-installer help
是没有显示最有用的隐藏选项之一:rvm-installer stable --ruby
。
另外,如前所述,当您运行rvm-installer时,已修改以下文件以添加一些与rvm相关的新内容。
~/.profile
~/.mkshrc
~/.zshrc
~/.bash_profile
~/.zlogin
~/.rvm/scripts/rvm
如果您不喜欢这样,请确保将--ignore-dotfiles
选项传递给rvm-installer。如果这样做,则需要手动执行此操作:
echo "source $HOME/.rvm/scripts/rvm" >> ~/.bash_profile
接下来,我们检查实际推荐的稳定Ruby版本:https :
//www.ruby-lang.org/en/downloads/
rvm install ruby-2.5.1 --binary # this binary doesn't exist!
date; time rvm install ruby-2.5.1 -j 4 # we compile with 4 threads,
# this take ~XX min on a RPi3
完成后,我也可以完成此答案...
这里的要点是rvm
,一旦创建了二进制文件,它似乎更加易于使用。为什么这些尚未为RPi3广泛使用,这似乎很疯狂。
sources.list
在/etc/apt/sources.list.d
,只是有raspi.list
。您是说我需要制作一个新文件吗?