很多时候我们会发现,真实的生成环境很多都没有外网,只有内网环境,这个时候我们又需要安装RubyGems,则不能提供yum命令进行在线安装了,这个时候我们就需要下载安装包进行离线安装。本文主要简单介绍如果离线安装RubyGems

  安装之前我们简单介绍下RubyGems

一、RubyGems简介

RubyGems 是 Ruby 的一个包管理器,它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。

RubyGems 旨在方便地管理 gem 安装的工具,以及用于分发 gem 的服务器。这类似于 Ubuntu 下的apt-get, Centos 的 yum,Python 的 pip。

RubyGems大约创建于2003年11月,从Ruby 1.9版起成为Ruby标准库的一部分。

二、在线安装RubyGems

 通过命令直接安装

& yum install rubygems

二、离线安装RubyGems

如果你的 Ruby 低于 1.9 版本,也可以通过手动安装:

解压tar -zxvf rubygems-2.6.12.tgz

$ cd /home/cmfchina/rubygems
$ tar -zxvf rubygems-2.6..tgz

执行命令:ruby setup.rb

更新 RubyGems 命令:

 $ gem update --system          # 需要管理员或root用户

三、RubyGems环境变量配置(需要root权限)

命令:

$ which gem

如果没有找,则需要进行环境变量的设置,有则无需设置了,后面内容就不用去看了,啦啦啦~~~~。

方法一、

直接在当前的根目录下,就是ruby的安装目录。输入命令vi .bashrc,然后在其末尾加入如下语句:export PATH=/home/cmfchina/rubygems/rubygems-2.6.12/bin:$PATH,设置PATH路径,把安装的rubygemsl路径放在系统PATH前面,避免调用操作系统自带的rubygems

如图所示:

保存退出就可以了(按ESC键,然后输入:wq保存退出)

方法二、(推荐第二种,因为第一种bashrc是系统级的环境变量)

输入命令vim /etc/profile,在文件当中PATH当中加入安装Rubygems的bin目录路径。然后保存执行命令:source /etc/profile

$ vi /etc/profile

如图所示:

在文件的最后面PATH添加Rubygems的bin路径,如图所示

保存退出就可以了(按ESC键,然后输入:wq保存退出),其中设置PATH路径,把安装的rubygems放在系统PATH前面,避免调用操作系统自带的rubygems

最后需要执行命令:source /etc/profile 才能立即生效

$ source /etc/profile

特别说明:

一般需要重新注销系统才能生效,最后可以通过echo命令测试一下:

$ echo $PATH 

看看输出里面是不是已经有了/home/cmfchina/rubygems/rubygems-2.6.12/bin这个路径了。

至此,Ruby安装完成!

PS:如有问题,请留言,未经允许不得私自转载,转载请注明出处:http://www.cnblogs.com/xuliangxing/p/7133544.html 

Linux 离线安装Rubygems详解的更多相关文章

  1. Linux离线安装Ruby详解

    很多时候我们会发现,真实的生成环境很多都没有外网,只有内网环境,这个时候我们又需要安装Ruby,则不能提供yum命令进行在线安装了,这个时候我们就需要下载安装包进行离线安装.本文主要简单介绍如果离线安 ...

  2. Android SDK离线安装方法详解(加速安装) 转

    AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助! 离线安装包下载地址:http://dl.vmall.com/c ...

  3. Android SDK离线安装方法详解(加速安装)

    AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助 一,首先下载SDK的安装包,android-sdk_r10-wi ...

  4. linux下安装apache详解

    下载httpd-2.2.6.tar.bz2  把httpd-2.2.6.tar.bz2放到/soft 下[root@localhost ~]#cd /soft[root@localhost soft] ...

  5. Linux pip安装使用详解

    简介 pip是Python有它自己的包管理工具,与yum和apt-get相似. 安装步骤: 1.下载get-pip.py:https://bootstrap.pypa.io/get-pip.py 2. ...

  6. VS2019 离线安装方法详解

    本文详细介绍了 VS2019 离线安装的相关步骤,以桌面开发为主下载 C++桌面开发..NET 桌面开发相关的工作负载.MFC 可选组件及帮助查看器. 工作负载(Workload) 离线安装需要先根据 ...

  7. linux下安装gcc详解

    1.了解一下gcc 目前,GCC可以用来编译C/C++.FORTRAN.JAVA.OBJC.ADA等语言的程序,可根据需要选择安装支持的语言.我自己linux上是4.1.2版本,是不支持openMP的 ...

  8. linux centos7安装phpMyAdmin详解,以及解决各种bug问题

    使用php和mysql开发网站的话,phpmyadmin和navicat是目前非常好的mysql管理工具,但是phpmyadmin最主要是免费开源,目前很多集成的开发环境都会自带phpmyadmin, ...

  9. TVD$XTAT在linux下安装使用详解

    扩展跟踪文件分析工具 (TVD$XTAT)是个命令行工具.和TKPROF一样,主要目的是把原始跟踪文件作为输入内容生成一个格式化的文件作为输出内容.输出文件可以是HTML或是文本文件.界面非常友好,推 ...

随机推荐

  1. C#中Abstract和Virtual[转载]

    原文:http://www.cnblogs.com/blsong/archive/2010/08/12/1798064.html 在C#的学习中,容易混淆virtual方法和abstract方法的使用 ...

  2. SpringMVC处理multipart请求.

    一.简述 multipart格式的数据会将一个表单拆分为多个部分(part),每个部分对应一个输入域.在一般的表单输入域中,它所对应的部分中会放置文本型数据,但是如果上传文件的话,它所对应的部分可以是 ...

  3. 豹哥嵌入式讲堂:ARM开发之文件详解(2)- linker文件

    大家好,我是豹哥,猎豹的豹,犀利哥的哥.今天豹哥给大家讲的是嵌入式开发里的linker文件. 在前一节课source文件详解里,豹哥给大家系统地介绍了source文件,source文件是嵌入式工程里典 ...

  4. django2 快速安装指南

    django2 快速安装指南 1. 安装 作为一个 Python Web 框架,Django需要Python的支持.请参阅 我可以在Django中使用哪些Python版本?了解详情.Python包含一 ...

  5. 关于理解python类的小题

    今天看了python部落翻译的一篇<一道python类的小题>文章,感觉挺有启发性,记录下来: print('A') class Person(object): print('B') de ...

  6. 用纯CSS实现的箭头

    div+css实现带三角箭头提示框 链接:http://www.xuebuyuan.com/160534.html 链接:http://www.admin10000.com/document/4089 ...

  7. JavaScript的DOM编程--03--读写属性节点

    读写属性节点: 1)可以直接通过 cityNode.id 这样的方式来获取和设置属性节点的值 2)通过元素节点的 getAttributeNode 方法来获取属性节点, 然后在通过 nodeValue ...

  8. python重试装饰器的简单实现

    简单实现了一个在函数执行出现异常时自动重试的装饰器,支持控制最多重试次数,每次重试间隔,每次重试间隔时间递增. 最新的代码可以访问从github上获取 https://github.com/black ...

  9. Hibernate学习笔记(3)---hibernate关联关系映射

    一对一关联 假设有两个持久化类(实体类)User与Address,它们之间存在一对一的关系 1,通过主键关联(个人偏向另外一种) User.hbm.xml文件配置 <id name=" ...

  10. Java学习笔记26(Math类、Arrays类、BigInteger类、BigDecimal类)

    Math类:数学工具类,做一些数学计算,开方,对数,三角函数等 所有方法都是静态方法,不需要建立对象,直接用类名调用即可 示例: 这里写几个在日常开发中会用到的,比如三角函数之类的平时不会用到,了解即 ...