美文网首页工具相关iOS 成长快线
RubyGems和Bundler简要使用笔记

RubyGems和Bundler简要使用笔记

作者: hanson21 | 来源:发表于2019-08-11 09:09 被阅读0次

    RubyGems

    什么是 RubyGems

    RubyGems is a package management framework for Ruby.

    https://rubygems.org/ 是 Ruby 社区的 Gem 托管服务。让你能便捷、快速的发布、管理你的 Gem 以及安装它们。提供 API 查阅可用 Gem 的详细资料。

    安装 RubyGems

    1. 如果系统环境完全没有安装,先去官网下载
    • 下载压缩包
    • 解压并 cd 到所在目录
    • 通过执行 ruby setup.rb 或者 ruby setup.rb --help 进行安装

    更新 RubyGems

    更新到最新版本:

    gem update --system
    

    如果没有安装 rubygems-update , RubyGems 1.1 和 1.2 的升级会有问题,可以按照以下步骤:
    gem install rubygems-update
    update_rubygems

    查看版本:

    gem -v
    

    RubyGems 源

    查看所有源

    gem sources -l
    or
    gem sources --list
    

    修改源

    因为国内访问官方源会很慢,所以有时候需要切换源

    1. 添加 Ruby-China 源,并移除官方源

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

    2. 添加清华源

    gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/
    

    确保仅使用一个源,可以用 remove 命令去掉多余的。

    清华大学开源软件镜像站: https://mirror.tuna.tsinghua.edu.cn/

    3. 切换源遇到证书错误问题

    以下内容摘抄自 Ruby-China 的说明

    正常情况下,你是不会遇到 SSL 证书错误的,除非你的 Ruby 安装方式不正确。

    如果遇到 SSL 证书问题,你又无法解决,请修改 ~/.gemrc 文件,增加 ssl_verify_mode: 0 配置,以便于 RubyGems 可以忽略 SSL 证书错误。

    ---
    :sources:
    - https://gems.ruby-china.com
    :ssl_verify_mode: 0
    

    如果你在意 Gem 下载的安全问题,请正确安装 Ruby、OpenSSL,建议部署 Linux 服务器的时候采用 这个 RVM 安装脚本 的方式安装 Ruby。

    Bundler 的 Gem 源镜像命令

    可以用 Bundler 的 Gem 源代码镜像命令,这样就不用修改 Gemfile 的 source

    bundle config mirror.https://rubygems.org https://gems.ruby-china.com
    

    Bundler

    什么是 Bundler

    官网:https://bundler.io/

    Bundler provides a consistent environment for Ruby projects by tracking and installing the exact gems and versions that are needed.

    Bundler 是项目的 Gem 包版本管理工具

    安装

    安装 Bundler

     gem install bundler
    

    创建 Gemfile

    Gemfile 类似 CocoaPods 的 Podfile

    source "https://rubygems.org"
    
    gem "cocoapods"
    gem "fastlane"
    
    #  这是插件路径,如果使用蒲公英或者 Fir 需要安装其插件 `fastlane add_plugin firim`
    plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
    eval_gemfile(plugins_path) if File.exist?(plugins_path)
    
    

    Bundle install

    执行完成后会有 Gemfile.lock 文件,类似 CocoaPodsPodfile.lock

    bundle install
    

    Bundle update

    bundle update
    

    可以指定 Update 某个库

    # 更新 fastlane
    bundle update fastlane
    

    相关文章

      网友评论

        本文标题:RubyGems和Bundler简要使用笔记

        本文链接:https://www.haomeiwen.com/subject/iejjjctx.html