Linux离线安装Ruby详解
很多时候我们会发现,真实的生成环境很多都没有外网,只有内网环境,这个时候我们又需要安装Ruby,则不能提供yum命令进行在线安装了,这个时候我们就需要下载安装包进行离线安装。本文主要简单介绍如果离线安装Ruby
安装之前我们简单介绍下Ruby
一、Ruby简介
Ruby是一种纯粹的面向对象编程语言。它由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)创建于1993年。
您可以在 www.ruby-lang.org 的 Ruby 邮件列表上找到松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)的名字。在 Ruby 社区,松本也被称为马茨(Matz)。
Ruby 是"程序员的最佳朋友"。
Ruby 的特性与 Smalltalk、Perl 和 Python 类似。Perl、Python 和 Smalltalk 是脚本语言。Smalltalk 是一个真正的面向对象语言。Ruby,与 Smalltalk 一样,是一个完美的面向对象语言。使用 Ruby 的语法比使用 Smalltalk 的语法要容易得多。
二、Ruby在线安装
如果您的计算机已经连接到 Internet,那么最简单安装 Ruby 的方式是使用 yum 或 apt-get。在命令提示符中输入以下的命令,即可在您的计算机上安装 Ruby。
$ sudo yum install ruby # CentOS, Fedora, 或 RHEL 系统 或 sudo apt-get install ruby-full # Debian 或 Ubuntu 系统
如果你是苹果系统,可以使用 brew 命令安装:
$ brew install ruby
三、Ruby离线安装
去官网下载:http://www.ruby-lang.org/en/downloads/ 最新的版本为2.4.1
在安装之前,请确保你Root权限,将下载的Ruby安装包上传到服务器当中,创建一个文件夹进行存放,我们可以随便设置一个文件名,例如:ruby
我们可以通过命令创建文件夹和拷贝,这里我偷懒下,通过xtfp5工具进行上传和文件夹的创建,如下图所示:
通过命令进行解压
& tar -zxvf ruby-2.4..tar.gz
我们可以通过命令:ls 查看当前目录,可以发现已经解压成功,看到了解压后的文件夹ruby-2.4.1
如图所示,在当前解压的目录下,编辑配置并编译源代码进行安装
$ ./configure –-prefix=/usr/local/ruby -prefix是将ruby安装到指定目录,也可以自定义
$ make && make install
我们将ruby安装到了/usr/local/ruby目录下,设置配置文件如图所示
安装ruby
安装后,通过在命令行中输入以下命令来确保一切工作正常:
$ruby -v
ruby 2.4.……
成功安装如图所示
后续:如果安装的过程当中出现如下错误
/home/cmfchina/ruby/ruby-2.4./lib/fileutils.rb::in `mkdir': Permission denied @ dir_s_mkdir - /usr/local/ruby (Errno::EACCES)
from /home/cmfchina/ruby/ruby-2.4./lib/fileutils.rb::in `fu_mkdir'
from /home/cmfchina/ruby/ruby-2.4./lib/fileutils.rb::in `block ( levels) in mkdir_p'
from /home/cmfchina/ruby/ruby-2.4./lib/fileutils.rb::in `reverse_each'
from /home/cmfchina/ruby/ruby-2.4./lib/fileutils.rb::in `block in mkdir_p'
from /home/cmfchina/ruby/ruby-2.4./lib/fileutils.rb::in `each'
from /home/cmfchina/ruby/ruby-2.4./lib/fileutils.rb::in `mkdir_p'
from ./tool/rbinstall.rb::in `makedirs'
from ./tool/rbinstall.rb::in `prepare'
from ./tool/rbinstall.rb::in `block in <main>'
from ./tool/rbinstall.rb::in `block in <main>'
from ./tool/rbinstall.rb::in `each'
from ./tool/rbinstall.rb::in `<main>'
make: *** [do-install-all] Error
这个问题是你没有权限在/usr/local/ruby目录下创建文件,这个时候你可以手动去ruby安装目录文件,或者更改安装目录,这之前在上面设置prefix就可以了。
四、Ruby环境变量配置(需要root权限)
命令:
$ which ruby
如果没有找,则需要进行环境变量的设置,有则无需设置了,后面内容就不用去看了,啦啦啦~~~~。。
方法一、
直接在当前的根目录下,就是ruby的安装目录。输入命令vi .bashrc,然后在其末尾加入如下语句:export PATH=/usr/local/ruby/bin:$PATH
设置PATH路径,把安装的ruby放在系统PATH前面,避免调用操作系统自带的ruby
如图所示:
保存退出就可以了(按ESC键,然后输入:wq保存退出)
方法二、(推荐第二种,因为第一种bashrc是系统级的环境变量)
输入命令vim /etc/profile,在文件当中PATH当中加入安装Ruby的bin目录路径。然后保存执行命令:source /etc/profile
$ vi /etc/profile
如图所示:
在文件的最后面PATH添加Ruby的bin路径,如图所示
保存退出就可以了(按ESC键,然后输入:wq保存退出),其中设置PATH路径,把安装的ruby放在系统PATH前面,避免调用操作系统自带的ruby
最后需要执行命令:source /etc/profile 才能立即生效
$ source /etc/profile
特别说明:
一般需要重新注销系统才能生效,最后可以通过echo命令测试一下:
$ echo $PATH
看看输出里面是不是已经有了/usr/local/ruby/bin这个路径了。
至此,Ruby安装完成!
PS:如有问题,请留言,未经允许不得私自转载,转载请注明出处http://www.cnblogs.com/xuliangxing/p/7132656.html
Linux离线安装Ruby详解的更多相关文章
- Linux 离线安装Rubygems详解
很多时候我们会发现,真实的生成环境很多都没有外网,只有内网环境,这个时候我们又需要安装RubyGems,则不能提供yum命令进行在线安装了,这个时候我们就需要下载安装包进行离线安装.本文主要简单介绍如 ...
- Linux 安装Ruby详解(在线和离线安装)
很多时候我们会发现,真实的生成环境很多都没有外网,只有内网环境,这个时候我们又需要安装Ruby,则不能提供yum命令进行在线安装了,这个时候我们就需要下载安装包进行离线安装.本文主要简单介绍如果离线安 ...
- Android SDK离线安装方法详解(加速安装) 转
AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助! 离线安装包下载地址:http://dl.vmall.com/c ...
- Android SDK离线安装方法详解(加速安装)
AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助 一,首先下载SDK的安装包,android-sdk_r10-wi ...
- linux下安装apache详解
下载httpd-2.2.6.tar.bz2 把httpd-2.2.6.tar.bz2放到/soft 下[root@localhost ~]#cd /soft[root@localhost soft] ...
- Linux pip安装使用详解
简介 pip是Python有它自己的包管理工具,与yum和apt-get相似. 安装步骤: 1.下载get-pip.py:https://bootstrap.pypa.io/get-pip.py 2. ...
- VS2019 离线安装方法详解
本文详细介绍了 VS2019 离线安装的相关步骤,以桌面开发为主下载 C++桌面开发..NET 桌面开发相关的工作负载.MFC 可选组件及帮助查看器. 工作负载(Workload) 离线安装需要先根据 ...
- linux下安装gcc详解
1.了解一下gcc 目前,GCC可以用来编译C/C++.FORTRAN.JAVA.OBJC.ADA等语言的程序,可根据需要选择安装支持的语言.我自己linux上是4.1.2版本,是不支持openMP的 ...
- linux centos7安装phpMyAdmin详解,以及解决各种bug问题
使用php和mysql开发网站的话,phpmyadmin和navicat是目前非常好的mysql管理工具,但是phpmyadmin最主要是免费开源,目前很多集成的开发环境都会自带phpmyadmin, ...
随机推荐
- maven如何修改本地仓库与中央仓库
摘要: 运行Maven的时候,Maven所需要的任何构件都是直接从本地仓库获取的.如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件. 什么是Maven仓库 在不用M ...
- 【对抗蠕虫】如何保护网页里的按钮,不被 XSS 自动点击
前言 XSS 自动点按钮有什么危害? 在社交网络里,大多操作都是通过点击按钮发起的.例如发表留言,假如留言系统有 BUG,那么 XSS 就能自动点击发送按钮,发布带有恶意代码的留言.好友看了中招后,又 ...
- R语言机器学习之caret包运用
在大数据如火如荼的时候,机器学习无疑成为了炙手可热的工具,机器学习是计算机科学和统计学的交叉学科, 旨在通过收集和分析数据的基础上,建立一系列的算法,模型对实际问题进行预测或分类. R语言无疑为我们提 ...
- iOS-创建自己的日志系统
今天说说怎么创建自己的日志系统 先看下Xcode自己的日志(这里说的NSLog) 系统自带的NSLog打印的信息只有简单的 时间 / 项目名称 / 打印内容 内容比较简单, 很难做分类管理和写入文件 ...
- iOSNsPredicate Appium 定位元素
Appium使用WebDriverAgent之后,新增了一种定位方法iOSNsPredicate,总结了一下使用方法: MobileElement photo = driver.findElement ...
- 构建自己的PHP框架--构建模版引擎(2)
自从来到新公司就一直很忙,最近这段时间终于稍微闲了一点,赶紧接着写这个系列,感觉再不写就烂尾了. 之前我们说到,拿到{{ $name }}这样一段内容时,我们只需要将它转化成<?php echo ...
- Scala note 1
Recently I transit to use scala to program. scala is a functional and objected oriented language, bu ...
- 笔记,spring4+ehcache2配置文件
最近工作中遇到个功能需要整合ehcache,由于spring版本用的是最新的4.2.4,而在ehcache官网找到的集成配置文档是spring3.1的,因此配了几次都不成功,在历经一番波折后终于成功集 ...
- response.getWriter().write()产生乱码
Struts1中通过action, return到页面的时候,如果代码中使用到response.getWriter().write(),那么有可能jsp页面中汉字会变成乱码.百度上有人说改为respo ...
- Caused by: java.lang.RuntimeException: by java.lang.OutOfMemoryError: PermGen space(tomcat 启动时提示内存溢出)
设置MaxPermSize大小TOMCAT_HOME/bin/catalina.bat 文件头加set JAVA_OPTS='-Xms512m -Xmx1024m -XX:MaxPermSize=51 ...