[英]How do I upgrade a rails 4.1 app from ruby 1.9.3 to ruby 2.1.5 without using rvm
[英]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。
第二種方法
此鏈接我覺得有用它非常簡單有效。
從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.