如何在没有RVM的Ubuntu上安装Ruby 1.9.3?

hujrc8aj  于 2023-02-03  发布在  Ruby
关注(0)|答案(5)|浏览(201)

我想在Ubuntu上安装ruby 1.9.3而不安装rvm
我跑

sudo apt-get install ruby

它采用Ruby1.8和Ruby1.9.1。
如果我真的

sudo apt-get install ruby 1.9.3 -p XXXX

我仍然无法安装ruby。我如何在Ubuntu上安装ruby?

06odsfpq

06odsfpq1#

在Ubuntu 12.04 LTS上,我让它可以与以下内容一起工作:

sudo apt-get install ruby 1.9.3
cd /etc/alternatives
sudo ln -sf /usr/bin/ruby1.9.3 ruby
inkz8wg9

inkz8wg92#

使用1.9.3的brightbox包。你必须添加他们的repo,但是为了保持简短,这里只使用他们的帮助页面:http://blog.brightbox.co.uk/posts/next-generation-ruby-packages-for-ubuntu

rkkpypqq

rkkpypqq3#

第一种方法
来源
http://lenni.info/blog/2012/05/installing-ruby-1-9-3-on-ubuntu-12-04-precise-pengolin/
新的Ubuntu发行版刚刚推出,随之而来的是大量的新软件包。我个人非常密切地跟踪Ruby的发展,但是Ubuntu上默认的Ruby仍然是1.8系列,我不推荐。Ruby 1.9有一些性能改进,特别是1.9.3,与1.9.2相比有很多改进。
然而,正如我在之前的一篇文章中所阐述的,在Ubuntu上获得Ruby 1.9系列而不使用RVM代替1.8并不容易,如果你对细节感兴趣,请阅读这篇文章。
简短的版本是:可以通过安装ruby-1.9.1包来获得Ruby 1.9.3-p0(该包称为1.9.1,因为它是ABI版本)。
如果要将Ruby 1.9设置为默认值,请执行以下操作:

sudo apt-get update

sudo apt-get install ruby1.9.1 ruby1.9.1-dev \

 rubygems1.9.1 irb1.9.1 ri1.9.1 rdoc1.9.1 \ build-essential libopenssl-ruby1.9.1 libssl-dev zlib1g-dev

sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.1 400 \
     --slave   /usr/share/man/man1/ruby.1.gz ruby.1.gz \
                /usr/share/man/man1/ruby1.9.1.1.gz \
     --slave   /usr/bin/ri ri /usr/bin/ri1.9.1 \
    --slave   /usr/bin/irb irb /usr/bin/irb1.9.1 \
    --slave   /usr/bin/rdoc rdoc /usr/bin/rdoc1.9.1

# choose your interpreter
# changes symlinks for /usr/bin/ruby , /usr/bin/gem
# /usr/bin/irb, /usr/bin/ri and man (1) ruby

 sudo update-alternatives --config ruby
 sudo update-alternatives --config gem

# now try
 ruby --version

如果你想让它成为你的专属Ruby,并摆脱Ruby 1.8,请按照卸载说明操作。
编辑:我今天发现还有一个叫ruby1.9.3的软件包,不过这只是一个代理软件包,它本身没有任何文件,只依赖于ruby1.9.1。
Ruby使用两种并行的版本控制方案:"Ruby库兼容版本"(本软件包为1.9.1),类似于库SONAME,以及"Ruby版本"Debian中的Ruby包是使用Ruby库兼容版本命名的,这有时会让不太了解Ruby开发的用户感到困惑。这个包依赖于ruby1.9.1包,并提供了从1.9.3版可执行文件和手册页到1.9.1版对应文件的兼容性符号链接。
好像没有Ruby。
第二种方法
此外,我发现这个链接很有用,它非常简单和有效。
http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/

uqdfh47h

uqdfh47h4#

从源代码编译是标准方法。

Here下载源代码,使用README文件获取说明。
另一种方法是apt包管理器系统。

$ sudo apt-get install ruby1.9.1

是的,这将安装Ruby 1.9.2。它有一个1.9.1的“库兼容版本”,因此得名。
如果你安装了'ruby'包,你会得到旧的Ruby 1.8。

ztyzrc3y

ztyzrc3y5#

在我的集群中,这确实是唯一有效的解决方案:

#!/usr/bin/env bash
# -- this really is the only solution that worked for me on snap :/

ruby -v
if ! command -v ruby &> /dev/null
then
    echo "Going to try to install ruby (ideally 3.1.2)"
    # - install rebenv (following ruby-build really is needed eventhough it doesn't look like it)
    mkdir -p ~/.rbenv
    cd ~/.rbenv
    git clone https://github.com/rbenv/rbenv.git .
    # if $HOME/.rbenv/bin not in path append it, otherwise don't change it
    echo $PATH | tr ':' '\n' | awk '{print "  " $0}';
    if [[ ":$PATH:" != *":$HOME/.rbenv/bin:"* ]]; then
      echo "might want to put $HOME/.rbenv/bin in your path"
      export PATH="$HOME/.rbenv/bin:$PATH"
#      echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc.lfs
    fi
    eval "$(rbenv init -)"
    rbenv -v

    # - install ruby-build, odd, this really is needed for ruby to install despite it not looking like ruby build is need at the bottom
    mkdir -p ~/.ruby-build
    cd ~/.ruby-build
    git clone https://github.com/rbenv/ruby-build.git .
    # if $HOME/.ruby-build/bin not in path append it, otherwise don't change it
    echo $PATH | tr ':' '\n' | awk '{print "  " $0}';
    if [[ $PATH != *"$HOME/.ruby-build/bin"* ]]; then
      echo "might want to put $HOME/.ruby-build/bin in your path"
      export PATH="$HOME/.ruby-build/bin:$PATH"
#      echo 'export PATH="$HOME/.ruby-build/bin:$PATH"' >> ~/.bashrc.lfs
    fi
    ruby-build --version

    # - install ruby without sudo -- using rbenv
    mkdir -p ~/.local
    #    ruby-build 3.1.2 ~/.local/
    rbenv install 3.1.2
    rbenv global 3.1.2
fi
ruby -v

# - Original Prover doesn't work on SNAP
# Proverbot's way to install ruby
#    # First, install Ruby, as that is for some reason required to build the "system" project
#    git clone https://github.com/rbenv/ruby-build.git ~/ruby-build
#    mkdir -p ~/.local
#    PREFIX=~/.local ./ruby-build/install.sh
#    ~/.local/ruby-build 3.1.2 ~/.local/
# ref: https://superuser.com/questions/340490/how-to-install-and-use-different-versions-of-ruby/1756372#1756372

相关问题