Dav*_*ave 16 upgrade ruby apt alternative
我正在使用 Ubuntu Linux。下面是 uname 信息
myuser@myinstance:~$ uname -a
Linux myinstance 3.18.0-52-generic #123-Ubuntu SMP Fri Feb 19 14:27:58 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
我正在尝试升级我机器上的 Ruby 版本,该版本目前安装在
/usr/lib/ruby/1.9.1
Run Code Online (Sandbox Code Playgroud)
我尝试遵循此处的建议 —通过 apt 安装 ruby 2.2.3,但不幸的是我收到错误消息,“替代路径 /usr/bin/ruby2.2 不存在”。升级我的系统以使用 Ruby 2.2 或更高版本的正确方法是什么?
myuser@myinstance:~/racertracks$ sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby2.2 400 \
> --slave /usr/bin/rake rake /usr/bin/rake2.2 \
> --slave /usr/bin/ri ri /usr/bin/ri2.2 \
> --slave /usr/bin/rdoc rdoc /usr/bin/rdoc2.2 \
> --slave /usr/bin/gem gem /usr/bin/gem2.2 \
> --slave /usr/bin/irb irb /usr/bin/irb2.2 \
> --slave /usr/share/man/man1/ruby.1.gz ruby.1.gz /usr/share/man/man1/ruby2.2.1.gz \
> --slave /usr/share/man/man1/rake.1.gz rake.1.gz /usr/share/man/man1/rake2.2.1.gz \
> --slave /usr/share/man/man1/ri.1.gz ri.1.gz /usr/share/man/man1/ri2.2.1.gz \
> --slave /usr/share/man/man1/rdoc.1.gz rdoc.1.gz /usr/share/man/man1/rdoc2.2.1.gz \
> --slave /usr/share/man/man1/gem.1.gz gem.1.gz /usr/share/man/man1/gem2.2.1.gz \
> --slave /usr/share/man/man1/irb.1.gz irb.1.gz /usr/share/man/man1/irb2.2.1.gz
update-alternatives: error: alternative path /usr/bin/ruby2.2 doesn't exist
Run Code Online (Sandbox Code Playgroud)
Eld*_*eek 19
为什么不使用ruby 2.3 ,它在 16.04 和 17.10 的存储库中可用
sudo apt update
Run Code Online (Sandbox Code Playgroud)
更新完成后运行:
sudo apt-get install ruby2.3 ruby2.3-dev
Run Code Online (Sandbox Code Playgroud)
或者尝试 ruby 2.4 或 2.5
您可以通过 Brightbox PPA 获得这些
添加存储库并更新
sudo apt-add-repository ppa:brightbox/ruby-ng && sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
安装
sudo apt-get install ruby2.4
Run Code Online (Sandbox Code Playgroud)
或18.04
sudo apt-get install ruby2.5 ruby2.5-dev
Run Code Online (Sandbox Code Playgroud)
可以在“Brightbox”团队启动板页面上找到有关上述 PPA 中包状态的信息。
或者,您可以尝试alternative path /usr/bin/ruby2.2 doesn't exist通过创建错误并重试来反向破解错误sudo mkdir /usr/bin/ruby2.2。