簡體   English   中英

如何在沒有 RVM 的情況下在 Ubuntu 上安裝 Ruby 1.9.3?

[英]How do I install Ruby 1.9.3 on Ubuntu without RVM?

我想在沒有 rvm 的情況下在 Ubuntu 上安裝 ruby 1.9.3

我跑

sudo apt-get install ruby

它采用 ruby 1.8 和 ruby 1.9.1。

如果我這樣做

sudo apt-get install ruby 1.9.3 -p XXXX

我仍然無法安裝 ruby。如何在 Ubuntu 上安裝 ruby?

在Ubuntu 12.04 LTS上,我使用了以下內容:

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

使用1.9.3的brightbox包。 您將不得不添加他們的回購,但為了簡短起見,請使用他們的幫助頁面: http//blog.brightbox.co.uk/posts/next-generation-ruby-packages-for-ubuntu

第一種方法

資源
http://lenni.info/blog/2012/05/installing-ruby-1-9-3-on-ubuntu-12-04-precise-pengolin/

新的Ubuntu版本剛剛推出並推出了大量新軟件包。 就個人而言,我非常密切地跟蹤Ruby的開發,但Ubuntu上的默認Ruby仍然是1.8系列,我不推薦。 與1.9.2相比,Ruby 1.9有一些性能改進,特別是1.9.3。

但是,正如我在前一篇文章中詳細闡述的那樣,在Ubuntu上使用RVM而不是使用RVM來獲取Ruby 1.9系列並不是那么容易。 如果您對細節感興趣,請閱讀帖子。

簡短版本是:您可以通過安裝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版本”(此軟件包為1.9.3)。 Debian中的Ruby包是使用Ruby庫兼容版本命名的,對於那些不密切關注Ruby開發的用戶來說,這有時會讓人感到困惑。 此程序包依賴於ruby1.9.1程序包,並提供從1.9.3可執行文件和手冊頁到1.9.1對應程序的兼容性符號鏈接。

似乎沒有rubygems1.9.3。

第二種方法

此鏈接我覺得有用它非常簡單有效。

http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/

從Source編譯是標准方法。

Here下載源代碼,使用README文件獲取指令。

另一種方法是apt包管理器系統。

$ sudo apt-get install ruby1.9.1

是的,這將安裝Ruby 1.9.2。 它有一個1.9.1的“庫兼容版本”,因此得名。

如果您安裝'ruby'軟件包,您將獲得較舊的Ruby 1.8。

在我的集群中,這確實是唯一有效的解決方案:

#!/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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM