こんにちは、河野です。 最近bundlerを使っているわけですが、たまに勢い余って--pathを付け忘れたりしてrvmのlocalにgemをインストールしたりすることがあります。 そんな時に、一括でgemを削除する方法です。 まず、削除したいgemの一覧が必要です。--no-versionsをつけるとバージョンが出力されません。
TL;DR (能書きはいいから3行で) 改めてgem install bundlerをすることで現状(2015-06-05現在)最新のBundler 1.10.3を使おう. 古いバージョンのBundlerがどうしても使いたいときはbundle _1.9.9_ installのようにBundlerのバージョンを指定して使うことが出来る(当然このときはgem install bundler -v 1.9.9されてることが前提). みんながまだ1.10未満しか使ってないなら気にしなくてもいいんじゃないかな. 何が起こったか 最近gem install bundlerをしたばっかりの人がbundle installすると,どうも既存のGemfile.lockに謎の差分(BUNDLED_WITHうんたらが追記される)が発生する.これってVCSで無視する設定になってないし(※gemのプロジェクトの場合
この文章は こちらからの転載です。 はじめに いつもお世話になっているRubygemsやGithubなどのエコシステムを体験してみたいという思いがありました。 RubygemsであればRubyのBundlerが楽だろうということで、 BundlerでRubygemsとGitHubでソフトウェアを公開するまでの流れを書いてみます。 何を作るか 何を作るか。 これが実は一番難しかったりするわけですが、今回は私自身が開発を行っていてたまに欲しくなるものにします。 普段、私はLinuxのサーバサイドのソフトウェアなどをよく開発しますが、その開発中にサーバ上で、あるツールやコマンドをバックグラウンドで起動させたり、任意のタイミングで停止させたり、デーモン化されていないものをデーモン化したいと思うことがあります。 例えば、サーバ上で負荷情報をモニタリングするときに、 vmstat で情報を書き出させ、
Gemを使ってて不便を感じたりしたら自分用にカスタマイズして使うことを最近覚えた。 GitHubにソースが上がっているならば、カスタマイズしたGemを通常のGemと同じようにRubyGemsの仕組みに乗せて利用できる。割と簡単に。 備忘録的に流れを整理しておく。 リポジトリをフォークする GitHubに自分のアカウントを作って、該当Gemのリポジトリに行って、「Fork」をポチッと押す。 詳しくはGitHubのヘルプを。 カスタマイズする フォークしたリポジトリをcloneしてきて思い通りに修正。 $ git clone git@github.com:akahigeg/hogehoge.git 後々のことを考えると変更前にトピックブランチを切っておくのがオススメ。 インストールする ここからが肝。 インストールの際に少しオプションを追加することで、カスタマイズしたGemを通常のGemと遜色
Nokogiri 1.6.0 のインストールは、そのひとつ前の 1.5.10 と比較してとても遅い。これは、 1.6.0 では libxml2 および libxslt を同梱し、環境に合わせてビルドするようになったからだ。 gem install nokogiri したときにライブラリ不足で止まってしまうのはストレスフルだったので、これは人によっては嬉しい変更なんだろう。 ただ問題は、 libxml2 や libxslt がシステムに入っている場合でも、これらのビルドが行われることだ。 gem update するだけなら気にならないが、 bundle install にて nokogiri を利用するような環境の場合、繰り返しライブラリをビルドされるとさすがに時間がもったいない。 こういったケースでは、 NOKOGIRI_USE_SYSTEM_LIBRARIES 環境変数を設定しよう。この
How to `bundle' install or update with capybara include nokogiriRailsMacOSX Using mini_portile 0.6.1 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. /Users/maangie/.rvm/rubies/ruby-2.1.4/bin/ruby -r ./siteconf20141108-54032-maimfn.rb extconf.rb checking if the C compiler accepts ... yes checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-futu
って書いて bundle update spring を実行してね。 参考: https://github.com/jonleighton/spring/issues/143#issuecomment-17984728 みたいなことがある。だいたいの場合はこれでいいんだけど、ここで引用しているspringの場合、これで直るのは bundle exec spring だけで、 bundle exec 無しだと実行できない。(僕の勘違いかも知れないので、正しいやり方を知っている人は是非コメントで教えてください。) 我慢して古いバージョンをRubygemsから引っ張ってきてインストールしてもいいんだけど、やっぱりbundlerでインストールしてあるのと同じバージョンにしたい。 で、gemコマンドにはgitリポジトリを指定して直接インストールする機能が無いので、こういう場面ではspecific_i
Rails 3のgemの管理に使用されるbundlerの使い方を復習します。 Bundlerの現時点の最新安定版のversion 1.2.3を対象とします。Bundlerを使うと何が嬉しいのか? あるgemが開発環境にはインストールされているが、production環境にはインストールされていない、といった問題が無くなる。 プロジェクトに必要なgemをはっきりさせることができる。 Bundlerのインストール %~ gem install bundler システム標準のrubyを使用している場合はsudoが必要な場合があります。rbenvやrvmを使用している場合はgem install bundlerのみでインストールできます。 bundle checkでインストール必要なgemをチェック Gemfileの中に記載されているgemのうち、これからどれをインストールしなければならないか
Infrastracture as code流行の副産物として、もうOpsはある程度Rubyでライブラリを書けるようになりました。 折角Rubyでライブラリを書いたなら、安全&ラクに配布するためGemパッケージにしましょう、出来る人には今更でしょうが知らない人は真似してみてね。 ちなみに意外と誤解されてる点、gemにする=Rubygems.orgで公開する、ではありません、してもOKというだけで。 目標 gemファイルを置いて、gemコマンドで自分のライブラリをサーバに導入する。 こんなかんじで。 gem install -l my_libs-0.0.1.gem じゃあやってみましょう。 Gemの雛形をつくろう Gemの作り方は色々あるようですが、私はもっぱらbundlerです。 bundle gemで必要なファイル群を作成します、便利ですね。 $ bundle gem my_libs c
Bundler provides a consistent environment for Ruby projects by tracking and installing the exact gems and versions that are needed. Bundler is an exit from dependency hell, and ensures that the gems you need are present in development, staging, and production. Starting work on a project is as simple as bundle install.
使用するライブラリのバージョンが違うと、プログラムは動かないことがある。bundlerは、バージョンを指定してgemを一括でインストールするためのツール。インストールしたいgemのバージョンを記した(bundlerの)設定ファイルがGemfile(だと思えばとりあえずOK。厳密に言うとややこしくなる)。 "Gemfile"(拡張子なし)という名前のファイルを作成して、以下のように書く。 source 'https://rubygems.org' # URLの指定。呪文だと思って毎回書く gem 'nokogiri' # 最新版をインストール gem 'rails', "3.2.3" # バージョンを指定してインストール gem 'rails', "~>1.1" # 1.1以降2.0以前 gem 'rails', "~>1.1.2" # 1.1.2以降1.2.0以前 グループ分けしておけば
今週は作業週、怖話をローカルで立ち上げる作業からやりました。まずはrbenvを使ってRubyのバージョンを1.9.3-p392に替えます。 そしてgitをつかって怖話をcloneしてきます。 次に、 $brew install imagemagic mysql qt でimagemagic,mysql,qtをインストール。 そして、 $bundle Bundler::GemfileNotFoundのエラーが.....。どうやらbundlerがインストールされていないというこなので $gem install bundler でインストールします。 再び、 $bundle -bash: bundele: command not foundのエラー。rakeもNo Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rake
Rubyでプログラム書くにあたって、bundlerを使わないプログラムは1年ぐらい経つと動かなくなってる事が多々あって、bundlerマジ重要なのと ぐぐってもあまりbundlerの利点や説明がまとまってる記事がなかったので 研究室のwikiに書いた記事を転載しておく。 Bundlerとは Bundler: The best way to manage a Ruby application's gems プロジェクト内で使うRubygemsを管理するしくみ。 プロジェクトの一番上のディレクトリに「Gemfile」というテキストファイルを置き、その中にgemの名前(と必要あればバージョンも)書く。 % bundle install というコマンドで、gemが一括インストールできる プログラム内で require 'bundler' Bundler.require と書くと、gemが一括req
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く