ruby 那些事

1. 初始ruby相关知识
ruby
是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘设计并开发,松本也被称为马茨。

irb
交互式Ruby

rails
是ruby编写的开源Web开发框架

rvm(ruby version manager)
是ruby版本管理工具,可以按照/卸载指定版本的ruby,且可以自由切换要使用的ruby版本

rbenv
rbenv 用来管理多个版本的 ruby 在用户目录的安装和使用, 和 rvm 二选一使用. 具体区别 rbenv 的文档里有说明, 社区里也有讨论.

RubyGems
RubyGems 是 Ruby 的一个包管理器,它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具,它旨在方便地管理 gem 安装的工具,以及用于分发 gem 的服务器。这类似于 Ubuntu 下的apt-get, Centos 的 yum,Python 的 pip

Gem
Gem是一个管理Ruby库和程序的标准包, 即包管理工具,它包含包的信息和安装的文件,可通过Ruby Gem源比如 http://rubygems.org/来查找、安装、升级和卸载软件包,非常的便捷。类似于apt-get/yum/npm.
所有的gem包都会被安装到该目录下,包括:cache/doc/gems/specifications 四个目录,cache放原生的gem包,gems放解压后的gem包。
若安装过程中遇到问题,可进入这些目录删掉,然后重新运行gem install [gemname]
[root@linuxtest0 2.6.0]# pwd
/usr/local/ruby/lib/ruby/gems/2.6.0
[root@linuxtest0 2.6.0]# ll
total 48
drwxr-xr-x   2 root root  4096 Feb 25 17:14 build_info
drwxr-xr-x   2 root root 12288 Jun 27 15:40 cache
drwxr-xr-x   3 root root  4096 Mar 21 15:27 doc
drwxr-xr-x   3 root root  4096 Feb 25 17:20 extensions
drwxr-xr-x 210 root root 12288 Jun 27 16:18 gems
drwxr-xr-x   3 root root 12288 Jun 27 15:40 specifications
[root@linuxtest0 2.6.0]# 
命令详解:
// 更新gem自身(注意:在某些linux发行版中为了系统稳定性此命令被禁止执行)
$> gem update --system
$> gem install [gemname]            # 从gem源安装
$> gem install -l [gemname].gem        # 从本地安装
$> gem install [gemname] --version=[ver]    # 安装制定版本
$> gem update    # 更新已安装的gem包
$> gem update [gemname] # 更新指定的gem包,但不会升级旧版本的包,可使用gem install [gemname] --version=[ver]代替
$> gem uninstall [gemname]
$> gem uninstall [gemname] --version=[ver]
$> gem list [--local]
$> gem -v/-h/--help/sources
$> gem sources(查看数据源)
$> gem sources --remove https://rubygems.org/(删除数据源)
$> gem sources -a https://ruby.taobao.org/(添加数据源)
$> gem search 软件包关键字(搜索软件包)


Gemfile
Gemfile是ruby插件配置文件,类似于java的pom文件。用于描述gem之间依赖的文件。ruby库和其他第三方库都是以.gem文件存在的(即依赖包),类似于pom文件,比如:
    ruby '>=2.3.1'
    source 'https://rubygems.org'

    # Middleman
    gem 'middleman', '~>4.2.1'
    gem 'middleman-syntax', '~> 3.0.0'
    gem 'middleman-autoprefixer', '~> 2.7.0'
    gem 'middleman-sprockets', '~> 4.1.0'
    gem 'rouge', '~> 2.0.5'
    gem 'redcarpet', '~> 3.4.0'
    gem 'nokogiri', '~> 1.8.2'
Gemfile.lock
Gemfile.lock是记录当前项目所有依赖的Ruby Gems及其稳定版本。因为该项目在ruby1.4 版本正常运行,
但在 1.9 版本就可能出现问题。所以引入这个文件。该文件有 bundle install命令生成。通过这样的方式,
当相同库/项目在另外一台机器上部署的时候,运行bundle install将会查看Gemfile.lock,然后安装同样
的版本,而不是使用Gemfile以及安装最新的版本。


Bundle
Rails3 中引入Bundle来管理项目中所有gem依赖,该命令只能在一个含有Gemfile的目录下执行,如rails3 项目的根目录。
$> bundle install # 安装项目依赖的所有gem包,该命令默认情况下将所有的gem包也会安装到该目录下,包括:cache/doc/gems/specifications 四个目录。
但有时无权限。这个时候bundler将会在一个临时目录里来升级所需的一切gem,然后管你要sudo的密码,这样的话,才有权限copy
这些gems到系统的目录去。其实你应该永远也不要用sudo bundle install,因为在bundle install的时候,有些步骤是必须要用
你现在的用户角色来进行的。
$> bundle show                        # 显示依赖包
$> bundle show [gemname]
$> bundle install                    # 安装Gemfile中配置的依赖包
$> bundle install [gemname]         # 安装指定的依赖包
$> bundle exec middleman server
$> bundle exec middleman build --clean
$> bundle check
$> bundle update
$> bundle update [gemname]
$> gem [gemname],[ver]                                # 向项目中添加新的gem包引用
$> gem [gemname], :require => [dependence_gemname]    # 你还可以指定包依赖关系
$> gem [gemname], :git => [git_source_url]            # 你甚至还可以指定gem包的git源
$> bundle lock
$> bundle unlock
$> bundle package
$> bundle exec                                        # 使用bundle的上下文中执行命令


Rake
Rake的意思是Ruby Make,一个用ruby开发的代码构建工具.


2. 安装ruby(通过rvm方式)
2.1 安装rvm
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$ curl -sSL https://get.rvm.io | bash -s stable
若失败可以尝试:
$ curl -L https://raw.githubusercontent.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable

2.2 配置环境
$ source /etc/profile.d/rvm.sh?

2.3 测试rvm
$ rvm -v

2.4 安装指定版本ruby
$ rvm install 2.4.5
$ rvm install 2.5.0
$ rvm install 2.6.0

2.5 切换ruby版本,并将其设为默认版本
$ rvm use 2.5.0 --default

2.6 查看版本?
$ ruby -v

2.7 卸载指定版本ruby
$ rvm remove 2.5.0

2.8 卸载rvm
$ rvm implode


3. 安装ruby(通过压缩包方式)
$ wget http://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.5.tar.gz
$ tar zxvf  ruby-2.3.5.tar.gz
$ cd ruby-2.3.5
$ ./configure  --prefix=/opt/ruby
$ make && make install
$ ln -s /opt/ruby/bin/ruby /usr/bin/ruby
$ ln -s /opt/ruby/bin/gem /usr/bin/gem
$ gem install bundle
$ cd 含有gemfile文件的目录
$ bundle install
$ bundle exec middleman server

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值