当前位置: 代码网 > it编程>前端脚本>Ruby > 安装Ruby和安装Rails详细步骤详解

安装Ruby和安装Rails详细步骤详解

2024年05月15日 Ruby 我要评论
rbenv安装rubyrbenv可以管理多个版本的ruby。可以分为3种范围(或者说不同生效作用域)的版本:local版:本地,针对各项目范围(只在某个目录下有效)global版:全局,没有shell

rbenv安装ruby

rbenv可以管理多个版本的ruby。可以分为3种范围(或者说不同生效作用域)的版本:

  • local版:本地,针对各项目范围(只在某个目录下有效)

  • global版:全局,没有shell和local版时使用global版

  • shell版:当前终端,只针对当前所在终端

查找优先级为shell>local>global

安装rbenv和ruby

1.安装rbenv

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export path="$home/.rbenv/bin:$path"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $shell

2.安装ruby-build工作,可自动编译安装ruby。它可以作为rbenv的插件,也可以作为独立程序,建议采用插件的方式。(如果已经有了,就跳过这一步,只要确保有rbenv命令就可以)

# 作为rbenv插件
mkdir -p "$(rbenv root)"/plugins
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

# 作为独立程序
git clone https://github.com/rbenv/ruby-build.git ~/ruby-build
prefix=/usr/local ./ruby-build/install.sh

3.选择ruby版本,安装ruby

rbenv install --list
rbenv install 2.6.2

默认情况下,安装是很慢的,因为要从官方下载源码包进行编译,下载的过程非常慢。

如果编译失败,可能是少了一些依赖包,在编译失败的时候会提示你执行什么命令来安装这些包(非常人性)。比如需要readline-devel包。

yum -y install readline-devel

4.安装完ruby或切换了ruby之后,都需要执行rehash操作,让rbenv知道刚才新装了一个ruby。

rbenv rehash

5.进入到项目目录/ror/ror1,设置local ruby版本

cd /ror/ror1
rbenv local 2.6.2

6.设置gem源

# 注意是ruby-china.com/,ruby-china.org的域名已经改成了.com
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
gem sources -l

解决rbenv安装慢问题

方案1

从 https://cache.ruby-china.com/pub/ruby/ 将ruby对应版本文件下载下来,将文件丢到~/.rbenv/cache目录下。

注意点:

  • ~/.rbenv/cache目录可能不存在,需要先创建
  • 下载保存下来的版本可能不是rbenv install时所需的版本,因为同一个版本的文件有.tar.bz2的,有.tar.xz的等等,rbenv对安装不同的ruby版本使用的文件后缀可能不一样,可以先执行下rbenv install 2.6.3后立马ctrl+c,再去下载显示出来对应后缀的包

以下是一个示例:

#  先rbenv install看看使用什么后缀的版本文件
# 这里显示的是使用.tar.bz2后缀的文件
$ rbenv install 2.6.2
downloading ruby-2.6.2.tar.bz2...
^c

# 所以下载.tar.bz2的文件
$ wget 'https://cache.ruby-china.com/pub/ruby/2.6/ruby-2.6.2.tar.bz2' -p ~/.rbenv/cache

# 安装即可
$ rbenv install 2.6.2

方案2

可以从 https://cache.ruby-china.com/pub/ruby/ 将ruby对应版本文件下载下来,然后安装。但注意先设置环境变量,并且在此环境变量url之后加上特殊符号#?

# 以ruby-2.6.2为例
wget https://cache.ruby-china.com/pub/ruby/2.6/ruby-2.6.2.tar.bz2 -p ~
ruby_build_mirror_url='file:///~/ruby-2.6.2.tar.bz2#' rbenv install 2.6.2 --verbose

# 另:也可以设置代理https_proxy=ip:port加速下载

方案3

有时候上面的方案2会失效,不同版本可能不一样。但是,这里可以使用一个rbenv插件,让rbenv直接使用中国的镜像站点下载。直接执行下面的命令即可。

git clone https://github.com/andorchen/rbenv-china-mirror.git "$(rbenv root)"/plugins/rbenv-china-mirror

更新rbenv的ruby版本列表

安装rbenv一段时间之后,ruby可能发布了新的版本,这时rbenv无法获取到这个新版本的信息。因此需要更新rbenv的可安装列表。

实际上,更新ruby-build插件即可:

# ruby-build作为rbenv插件时
git -c "$(rbenv root)"/plugins/ruby-build pull

# ruby-build作为独立程序时
cd
git clone https://github.com/rbenv/ruby-build.git
prefix=/usr/local ./ruby-build/install.sh

然后就可以查看新的ruby版本并安装。

多版本ruby

上面已经装了一个ruby了,现在再装一个ruby 2.6.1:

# 以ruby-2.6.1为例
$ wget https://cache.ruby-china.com/pub/ruby/2.6/ruby-2.6.1.tar.bz2 -p /root

$ ruby_build_mirror_url='file:///~/ruby-2.6.1.tar.bz2#' rbenv install 2.6.1 --verbose

$ rbenv rehash

现在,就有了两个版本,可以使用rbenv versions命令查看(复数versions表示列出已装所有版本,单数version表示列出当前所使用的ruby版本)。

$ rbenv versions

现在,就可以通过rbenv [local | shell | global] version来设置多版本共存的ruby了。

比如:

$ rbenv local 2.6.1
$ rbenv version

rbenv命令行

$ rbenv --help
usage: rbenv <command> [<args>]

some useful rbenv commands are:
   commands    列出rbenv的所有命令列表
   local       设置或显示local application-specific ruby version
   global      设置或显示global ruby version
   shell       设置或显示shell-specific ruby version
   install     使用ruby-build安装指定的ruby版本
   uninstall   卸载指定版本
   rehash      rehash,每次安装完ruby后都要执行,否则rbenv不知道刚才新装ruby的信息
               (rbenv通过检查~/.rbenv/shims来获取ruby信息)
   version     显示当前ruby版本
   versions    显示所有已装ruby版本
   which       显示ruby命令的全路径
   whence      列出包含该可执行命令的所有ruby版本

see `rbenv help <command>' for information on a specific command.
for full documentation, see: https://github.com/rbenv/rbenv#readme

完整的命令列表可查看rbenv commands,各命令使用方法,可查看rbenv help command

安装rails

cd /ror/ror1

# 查看已有的rails版本号
gem list --remote | grep '^rails' | head

# 安装最新版的rails
gem install rails

# 安装指定版本的rails
# gem install rails -v version
gem install rails -v 5.1.3

安装了指定版本的rails后,rails创建的项目不一定就是指定版本的。比如上面安装的是5.1.3版本的rails,rails new blog可能会创建rails 6.0.3.2版本的项目blog。如果想要让创建的项目也是指定版本的,可:

rails _5.1.3_ new blog

windows安装ruby和rails

下载windows下的ruby安装包:https://rubyinstaller.org/downloads/

要下载with-devkit的。例如:

https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.6.6-1/rubyinstaller-devkit-2.6.6-1-x64.exe

下载ok后,双击安装,一路点下一步:

最后安装ruby所需的包:

安装完成后,打开cmd或powershell:更改中国gem镜像仓库。

gem sources --remove https://rubygems.org/ --add https://gems.ruby-china.com/

安装rails或其它gem:

gem install rails
gem install mysql2
(0)

相关文章:

  • Ruby信号处理详解

    Ruby信号处理详解

    ruby使用process.kill发送信号process.kill(signal, pid, ...) → integerprocess.kill发送指定的信... [阅读全文]
  • Ruby 面向对象知识总结

    Ruby 面向对象知识总结

    ruby 是纯面向对象的语言,ruby 中的一切都是以对象的形式出现。ruby 中的每个值都是一个对象,即使是最原始的东西:字符串、数字,甚至连 true 和 ... [阅读全文]
  • 深入分析Ruby 变量

    深入分析Ruby 变量

    变量是持有可被任何程序使用的任何数据的存储位置。ruby 支持五种类型的变量。 一般小写字母、下划线开头:变量(variable)。 $开头:全局变量(gl... [阅读全文]
  • Ruby 迭代器知识汇总

    Ruby 迭代器知识汇总

    简单来说:迭代(iterate)指的是重复做相同的事,所以迭代器(iterator)就是用来重复多次相同的事。迭代器是集合支持的方法。存储一组数据成员的对象称为... [阅读全文]
  • Ruby生成随机数的方法总结

    Ruby生成随机数的方法总结

    数字实际上不是随机的没有一台计算机能纯粹通过计算产生真正的随机数。它们能做的最好的事情就是生成伪随机数,伪随机数是一组看起来随机但实际上不是随机的数字。对于人类... [阅读全文]
  • 最新的CocoaPods安装教程

    最新的CocoaPods安装教程

    cocoapods是什么?当你开发ios应用时,会经常使用到很多第三方开源类库,比如jsonkit,afnetworking等等。可能某个类库又用到其他类库,所... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com