タグ

Bundlerに関するakatakunのブックマーク (13)

  • セマンティック・バージョニングと、Gemfileのバージョン指定方法 - Gemfileでよく見る`~>`を使いこなす - Qiita

    セマンティック・バージョニングと、Gemfileのバージョン指定方法 - Gemfileでよく見る`~>`を使いこなすRubyRails ライブラリを使う時、バージョンが合わなくてうまく動かないという問題は、Rubyに限らず、どのプログラミング言語でも常に悩みの種である。特にDepedencyの多いライブラリをインストール/インクルードするときは、大体この問題で躓く。C++とかでGUI関係のライブラリを入れるときは何度も挫折したし、特に、進化が速く変更の多いPerl,PHPをはじめとしたスクリプト言語では普通にそういう問題に出くわす。 もちろんRubyもその例外ではないのだが、より個人がライブラリ(gem)を作って、githubなどに上げ、公開していくという文化がある割に、あまりこの問題に悩まされないので、Ruby(on Rails)は比較的うまくやっていると思う。 これは、Bundler

    セマンティック・バージョニングと、Gemfileのバージョン指定方法 - Gemfileでよく見る`~>`を使いこなす - Qiita
    akatakun
    akatakun 2018/11/15
    Semantic Versioning: バージョン法則のガイドライン,X.Y.Z: Major.Minor.Patch,Major: 後方互換なし,Minor: 後方互換あり,Patch: バグ修正,0.y.z: 例外的にいつAPIを変えても良い
  • gemspecとGemfileの役割をはっきりさせておく

    gemspecとGemfileの役割をはっきりさせておく Original: URL: Clarifying the Roles of the .gemspec and Gemfile Date: Thursday, December 16th, 2010 at 9:41 pm Translation: URL: gemspecとGemfileの役割をはっきりさせておく (Not Found) Salvaged from Internet Archive 要約 GemfileGemfile.lockは依存関係を厳密に指定するのが目的なので、アプリケーションを開発するときはレポジトリにチェックインすべき。 一方Gemを開発するときは依存関係を緩やかに定義し柔軟性を持たせることが重要なポイントなので、GemfileGemfile.lockはレポジトリにチェックインしてはいけない。 他、Gemf

    akatakun
    akatakun 2018/09/29
    Gemfile.lockは依存関係を厳密に指定するのが目的なので、アプリ開発ではチェックインすべき。 逆にGem開発ではチェックアウトすべき,故にGemfileではソースを記述する
  • `git ls-files` in gemspec template is bad practice. · Issue #2287 · rubygems/bundler

    akatakun
    akatakun 2017/10/12
    gemspecファイルにgit ls-filesが含まれていることが多いが、プロダクション環境にgitがないとうまくいかなくなる,bundle package --allするとlocal gemもキャッシュしてくれるらしい,https://github.com/bundler/bundler/issues/2039
  • Bundlerのグループ | Bundler日本語ドキュメント | Ruby STUDIO

    グループの使用 依存性をグループ化する事で、グループ全体でオペレーションが実行出来るようになります。 # これらのGemは:defaultグループになります。 gem 'nokogiri' gem 'sinatra' gem 'wirble', :group => :development group :test do gem 'faker' gem 'rspec' end group :test, :development do gem 'capybara' gem 'rspec-rails' end gem 'cucumber', :group => [:cucumber, :test] リストで指定されたグループのGemを除いた、全てのGemをインストールします。 除外されないグループのいずれか1つに属しているGemであれば、そのGemはインストールされます。 $ bundle in

    akatakun
    akatakun 2017/10/11
    インストールするかどうかは--withoutオプションを使い、requireするかどうかはBundler.requireで設定する,Rails 3ならconfig/application.rbでRails.groups(実行に必要な全グループを返す)を引数に呼び出してやっている
  • bundlerでgemをプロジェクトごとに管理する | DevelopersIO

    前回ではrubyの環境を構築しました。 今回はプロジェクトごとにgemを管理する方法をご紹介したいと思います。 gemとは rubyではライブラリやフレームワークをgemというパッケージにして再利用ができ、 rubygemsという管理ツールでインストールやアップデート、アンインストールが可能です。 これは他の言語にも同じようなシステムが存在します。 Python の PyPi Perl の CPAN Node の npm ruby 1.9からはrubygemsは標準で組み込まれるようになったので特に準備は必要ありません。 またgemrubygems.orgにて検索が可能です。 rubygemsを使ってみる rubygemsのコマンドはgemです。以下によく使うコマンドとオプションを載せておきます。 gemをインストールする $ gem install (gem name) デフォルトでは

    bundlerでgemをプロジェクトごとに管理する | DevelopersIO
    akatakun
    akatakun 2017/09/29
    Gemfile.lock: Gemfileに記載されていたバージョンが曖昧であった場合でも、実際にインストールされたバージョンが記載される,vendor/cacheにgemを保存しておくとオフラインでもインストールできる
  • 自作gemのインストール方法について - Qiita

    概要 自作のgemや、OSSのgemをカスタマイズして、インストールする際の備忘録です。 Local gem install localの専用ツール1回インストールして、プロジェクト関係なく使用する際に向いてると思います。 # 対象のgemの作業ディレクトリでビルド $ rake build -> pkg/hoge-0.0.1.gem # pkg/hoge-0.0.1.gem にgemファイルが作成されるため gem install $ gem install pkg/hoge-0.0.1.gm Local gem を Gemfileに記述して bundle install 自作のGemを開発しながらやる際には向いてそうです。 作業ディレクトリ/対象のGEMディレクトリ(hoge) 作業ディレクトリ/インストール先プロジェクトディレクトリ/(boo) の想定で記載しております。 # 対象の

    自作gemのインストール方法について - Qiita
  • gem をオフラインでインストールする方法 - present

    あらかじめ Web に繋がったマシンで .gem ファイルをダウンロードしておけば gem install --local <gem ファイル名> でインストールできる。 ただし、依存する gem がインストールされていないと失敗するから、それらをすべて手動でインストールする必要があるため苦行。 Rails アプリで使う gem をまとめてオフラインインストールしたい場合、あらかじめ bundle package でインストールしている gem を vendor/cache に出力。 そして、まだ bundle install していないプロジェクトに vendor/cache をコピーして bundle install --path vendor/bundle --local を実行できれば、まとめてインストールできる。 依存している gem をいちいち手動で入れる必要がないので、こちら

    gem をオフラインでインストールする方法 - present
    akatakun
    akatakun 2017/09/05
    オフラインでgemをインストールするには--localを付ける。bundle packageでcacheすればそれもインストール可能
  • Bundler: The best way to manage a Ruby application's gems

    $ bundle config [NAME [VALUE]] [--local] [--global] [--delete] Options: --local: Get/set local configuration --global: Get/set global configuration --delete: Delete NAME value Retrieves or sets a configuration value. If only parameter is provided, retrieve the value. If two parameters are provided, replace the existing value with the newly provided one. By default, setting a configuration value se

    akatakun
    akatakun 2015/07/30
    `bundle config --local`: ローカルの設定
  • Yosemite で libv8 と therubyracer をインストールする

    Mac OS X 10.9 Mavericks 以降だと、libv8 と therubyracer の gem がインストールできないじゃないですか。毎回遭遇するけど、毎回苦しんでいます。 キモは、libv8、therubyracer、OS のバージョンの整合性。あとは定番のオプションを付けること。 http://inoao.hatenablog.com/entry/2014/03/27/183523 に、超便利な表がありました。が、Yosemite が載っていないので、最新版はこうなります。Yosemite = darwin-14 の値は、自分で試してうまくいった組み合わせです。 CPU OS OS Version libv8 therubyracer

    akatakun
    akatakun 2015/07/30
    libv8とtherubyacerはOS依存
  • Bundlerめも

    bundler_memo.md bundler install Gemfile(or Gemfile.lock)の記述に従って依存gemをシステムにインストール. $ bundle install システムではなく任意のパスにgemをインストール. $ bundle install --path vendor/bundle 任意のパスにインストールした場合、ロードパス解決はbundlerによって行われる. コマンド実行する場合はbundle execを利用. $ bundle exec rspec Rubyコード上でロードパスを追加する場合. require 'bundler/setup' require 'nokogiri' 任意のグループのみ対象とする場合はBundler.setupメソッドを利用する. require 'bundler' Bundler.setup(:default,

    Bundlerめも
  • Bundler概要 - Qiita

    bundlerについて分かってる風になっていたので、一度整理します。 特徴 ・Gemパッケージの種類やバージョンの管理 ・複数PCで必要なGemパッケージをインストールする仕組みを提供 ->チーム間で同一の開発環境を簡単に構築することが可能に。 運用方針 基的に、gemコマンドでインストールするのはBundlerのみで、その他のgemパッケージは、Bundler経由でインストールするという方針。

    Bundler概要 - Qiita
    akatakun
    akatakun 2015/07/29
    わかりやすい
  • rbenvおよびbundlerの基本的な使用方法 - Qoosky

    趣味電子工作を楽しむ人のためのハードウェア情報共有サイト 技術情報や作品の投稿機能、リアルタイム遠隔操作 API をご利用いただけます。 概要 rubyは他の言語と比較してバージョンによる差異が大きく、異なるバージョンのrubyを使用している複数のプロジェクト業務をあるPCで行う場合に、プロジェクト毎に適切なバージョンのrubyを有効化および実行する必要が発生します。この要求はrbenvというツールを使用することで満たすことができます。つまり、rbenvは複数バージョンのrubyが同一システム内に共存することを可能にします。 rubyのライブラリであるgemについてもバージョンによる差異が大きいものがあり、異なるバージョンのgem (rails等) を使用している複数のプロジェクト業務をあるPCで行う場合に、プロジェクト毎に適切なバージョンのgemを有効化および実行する必要が発生します。

    rbenvおよびbundlerの基本的な使用方法 - Qoosky
    akatakun
    akatakun 2015/07/14
    GemはRuby毎にパッケージを管理し、BundlerはRuby on Railsプロジェクト毎にパッケージを管理する。
  • Bundlerを使って複数の環境で同じバージョンのGemを使用する

    Rails ではアプリケーションで必要となる Gem パッケージの管理に Bundler を使用します。 Bundler の設定ファイルである Gemfile 、インストールを行った結果を保存する Gemfile.lock を使うことで複数の環境で別れて同じアプリケーションを開発する場合でも、簡単に同じ開発環境を整えることができます。ここでは Bundler を使って複数の環境で同じバージョンの Gem を使用する方法について解説します。 Gemパッケージとは まずは Gem パッケージについて簡単に解説します。 Ruby で使われるライブラリやアプリケーションは、 Gem と呼ばれる形式のパッケージにすることができます。多くのライブラリが Gem 形式でパッケージされ公開されており、これらは RubyGems と呼ばれるパッケージ管理ツールを使ってダウンロードしたりインストールすることが

    Bundlerを使って複数の環境で同じバージョンのGemを使用する
    akatakun
    akatakun 2015/07/14
    Bundler:Ruby on Railsプロジェクトで使われるパッケージをバージョン管理するためのツールのこと。
  • 1