Gemfile.lockのPLATFORMS表記について bundler2.2以降だと、mac以外のプラットフォームで実行するには実行元のプラットフォームを指定する必要がある 下記のようにbundle lock --add-platform コマンドで追加し、Gemfile.lockに追記されていればOK
ライブラリを使う時、バージョンが合わなくてうまく動かないという問題は、Rubyに限らず、どのプログラミング言語でも常に悩みの種である。特にDepedencyの多いライブラリをインストール/インクルードするときは、大体この問題で躓く。C++とかでGUI関係のライブラリを入れるときは何度も挫折したし、特に、進化が速く変更の多いPerl,PHPをはじめとしたスクリプト言語では普通にそういう問題に出くわす。 もちろんRubyもその例外ではないのだが、より個人がライブラリ(gem)を作って、githubなどに上げ、公開していくという文化がある割に、あまりこの問題に悩まされないので、Ruby(on Rails)は比較的うまくやっていると思う。 これは、Bundlerというツール自体の功績でもあるけれど、ライブラリを作る個人個人が、ちゃんと一定の規則に従ってバージョン付けして、依存関係を正しくGemfi
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
グループの使用 依存性をグループ化する事で、グループ全体でオペレーションが実行出来るようになります。 # これらの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
前回ではrubyの環境を構築しました。 今回はプロジェクトごとにgemを管理する方法をご紹介したいと思います。 gemとは rubyではライブラリやフレームワークをgemというパッケージにして再利用ができ、 rubygemsという管理ツールでインストールやアップデート、アンインストールが可能です。 これは他の言語にも同じようなシステムが存在します。 Python の PyPi Perl の CPAN Node の npm ruby 1.9からはrubygemsは標準で組み込まれるようになったので特に準備は必要ありません。 またgemはrubygems.orgにて検索が可能です。 rubygemsを使ってみる rubygemsのコマンドはgemです。以下によく使うコマンドとオプションを載せておきます。 gemをインストールする $ gem install (gem name) デフォルトでは
あらかじめ 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 をいちいち手動で入れる必要がないので、こちら
$ 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
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
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,
趣味の電子工作を楽しむ人のためのハードウェア情報共有サイト 技術情報や作品の投稿機能、リアルタイム遠隔操作 API をご利用いただけます。 概要 rubyは他の言語と比較してバージョンによる差異が大きく、異なるバージョンのrubyを使用している複数のプロジェクト業務をあるPCで行う場合に、プロジェクト毎に適切なバージョンのrubyを有効化および実行する必要が発生します。この要求はrbenvというツールを使用することで満たすことができます。つまり、rbenvは複数バージョンのrubyが同一システム内に共存することを可能にします。 rubyのライブラリであるgemについてもバージョンによる差異が大きいものがあり、異なるバージョンのgem (rails等) を使用している複数のプロジェクト業務をあるPCで行う場合に、プロジェクト毎に適切なバージョンのgemを有効化および実行する必要が発生します。
Rails ではアプリケーションで必要となる Gem パッケージの管理に Bundler を使用します。 Bundler の設定ファイルである Gemfile 、インストールを行った結果を保存する Gemfile.lock を使うことで複数の環境で別れて同じアプリケーションを開発する場合でも、簡単に同じ開発環境を整えることができます。ここでは Bundler を使って複数の環境で同じバージョンの Gem を使用する方法について解説します。 Gemパッケージとは まずは Gem パッケージについて簡単に解説します。 Ruby で使われるライブラリやアプリケーションは、 Gem と呼ばれる形式のパッケージにすることができます。多くのライブラリが Gem 形式でパッケージされ公開されており、これらは RubyGems と呼ばれるパッケージ管理ツールを使ってダウンロードしたりインストールすることが
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く