Submit Search
Upload
Management of Gems using Bundler.
•
1 like
•
714 views
Tamotsu Furuya
Follow
Bundlerを利用したGem管理
Read less
Read more
Report
Share
Report
Share
1 of 24
Download now
Download to read offline
Recommended
Automation tech casual_talks_1_20120717
Automation tech casual_talks_1_20120717
Makoto Haruyama
AnyEventとEC2を使ったクローリングツールのご紹介
AnyEventとEC2を使ったクローリングツールのご紹介
Songhee Han
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
Ryosuke MATSUMOTO
Tottoruby 20110903
Tottoruby 20110903
Takashi SAKAGUCHI
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
Ryosuke MATSUMOTO
Mod lua
Mod lua
do_aki
RubyGemsの落とし穴
RubyGemsの落とし穴
Kazuhiro Nishiyama
初心者エンジニアのシステム構築失敗談
初心者エンジニアのシステム構築失敗談
Makoto Haruyama
Recommended
Automation tech casual_talks_1_20120717
Automation tech casual_talks_1_20120717
Makoto Haruyama
AnyEventとEC2を使ったクローリングツールのご紹介
AnyEventとEC2を使ったクローリングツールのご紹介
Songhee Han
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
Ryosuke MATSUMOTO
Tottoruby 20110903
Tottoruby 20110903
Takashi SAKAGUCHI
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
Ryosuke MATSUMOTO
Mod lua
Mod lua
do_aki
RubyGemsの落とし穴
RubyGemsの落とし穴
Kazuhiro Nishiyama
初心者エンジニアのシステム構築失敗談
初心者エンジニアのシステム構築失敗談
Makoto Haruyama
Using Chef for Infrastructure Automation of Ameba Pigg
Using Chef for Infrastructure Automation of Ameba Pigg
Yuuki Namikawa
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
Makoto Haruyama
Mod mrubyについて
Mod mrubyについて
Ryosuke MATSUMOTO
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
学 松崎
Solr meeting in Japan 2011
Solr meeting in Japan 2011
Takahiko Ito
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
Yuki Okamoto
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
アシアル株式会社
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
Yasutaka Hamada
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
Satoshi Ohkubo
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
Akira Shimosako
Alfrescoクラスタリング入門
Alfrescoクラスタリング入門
Ashitaba YOSHIOKA
Hadoop on LXC
Hadoop on LXC
俊夫 森
How to make gem
How to make gem
Ken Iiboshi
今日から使い始めるChef
今日から使い始めるChef
Masahiro NAKAYAMA
Web技術勉強会23回目
Web技術勉強会23回目
龍一 田中
~Solaris 11 をマルチ・プロトコル SCSI ターゲットに~ 「もう一つのストレージ仮想化機能 “COMSTAR”概要」
~Solaris 11 をマルチ・プロトコル SCSI ターゲットに~ 「もう一つのストレージ仮想化機能 “COMSTAR”概要」
Kazuyuki Sato
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Akira Shimosako
Summary of Ruby
Summary of Ruby
Tamotsu Furuya
Openstack chef-repo
Openstack chef-repo
Tomokazu Hirai
Integration Technology of Ruby and DB.
Integration Technology of Ruby and DB.
Tamotsu Furuya
20101106 ramaze発表
20101106 ramaze発表
Fukui Osamu
Ruby in Wheezy @ 関西闇Ruby
Ruby in Wheezy @ 関西闇Ruby
Youhei SASAKI
More Related Content
What's hot
Using Chef for Infrastructure Automation of Ameba Pigg
Using Chef for Infrastructure Automation of Ameba Pigg
Yuuki Namikawa
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
Makoto Haruyama
Mod mrubyについて
Mod mrubyについて
Ryosuke MATSUMOTO
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
学 松崎
Solr meeting in Japan 2011
Solr meeting in Japan 2011
Takahiko Ito
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
Yuki Okamoto
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
アシアル株式会社
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
Yasutaka Hamada
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
Satoshi Ohkubo
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
Akira Shimosako
Alfrescoクラスタリング入門
Alfrescoクラスタリング入門
Ashitaba YOSHIOKA
Hadoop on LXC
Hadoop on LXC
俊夫 森
How to make gem
How to make gem
Ken Iiboshi
今日から使い始めるChef
今日から使い始めるChef
Masahiro NAKAYAMA
Web技術勉強会23回目
Web技術勉強会23回目
龍一 田中
~Solaris 11 をマルチ・プロトコル SCSI ターゲットに~ 「もう一つのストレージ仮想化機能 “COMSTAR”概要」
~Solaris 11 をマルチ・プロトコル SCSI ターゲットに~ 「もう一つのストレージ仮想化機能 “COMSTAR”概要」
Kazuyuki Sato
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Akira Shimosako
What's hot
(17)
Using Chef for Infrastructure Automation of Ameba Pigg
Using Chef for Infrastructure Automation of Ameba Pigg
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
Mod mrubyについて
Mod mrubyについて
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
Solr meeting in Japan 2011
Solr meeting in Japan 2011
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
Alfrescoクラスタリング入門
Alfrescoクラスタリング入門
Hadoop on LXC
Hadoop on LXC
How to make gem
How to make gem
今日から使い始めるChef
今日から使い始めるChef
Web技術勉強会23回目
Web技術勉強会23回目
~Solaris 11 をマルチ・プロトコル SCSI ターゲットに~ 「もう一つのストレージ仮想化機能 “COMSTAR”概要」
~Solaris 11 をマルチ・プロトコル SCSI ターゲットに~ 「もう一つのストレージ仮想化機能 “COMSTAR”概要」
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Similar to Management of Gems using Bundler.
Summary of Ruby
Summary of Ruby
Tamotsu Furuya
Openstack chef-repo
Openstack chef-repo
Tomokazu Hirai
Integration Technology of Ruby and DB.
Integration Technology of Ruby and DB.
Tamotsu Furuya
20101106 ramaze発表
20101106 ramaze発表
Fukui Osamu
Ruby in Wheezy @ 関西闇Ruby
Ruby in Wheezy @ 関西闇Ruby
Youhei SASAKI
Nseg20120825
Nseg20120825
hiro345
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19
Hitoshi Kurokawa
Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3
Sea Mountain
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編
Yohei Yasukawa
実は怖くないDevOps
実は怖くないDevOps
Masanori Ishigami
Ruby In Wheezy
Ruby In Wheezy
Youhei SASAKI
Tokyo.R#16 wdkz
Tokyo.R#16 wdkz
Kazuya Wada
RubyによるMac OS Xデスクトップアプリケーション開発入門--Snow Leopard対応版
RubyによるMac OS Xデスクトップアプリケーション開発入門--Snow Leopard対応版
宏治 高尾
Rubyな日々
Rubyな日々
Kazuhiro Nishiyama
Ruby Enterprise Environment
Ruby Enterprise Environment
Tomoya Kawanishi
クラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloud
Kazuki Aranami
Sinatra and heroku for mac
Sinatra and heroku for mac
Naoyuki Mitsuboshi
Oracle Solaris 11デベロッパーが押さえておきたい機能
Oracle Solaris 11デベロッパーが押さえておきたい機能
Kazuyuki Sato
OSSDB MySQL
OSSDB MySQL
Masahiro Tomita
Railsの基礎
Railsの基礎
Junya Ishihara
Similar to Management of Gems using Bundler.
(20)
Summary of Ruby
Summary of Ruby
Openstack chef-repo
Openstack chef-repo
Integration Technology of Ruby and DB.
Integration Technology of Ruby and DB.
20101106 ramaze発表
20101106 ramaze発表
Ruby in Wheezy @ 関西闇Ruby
Ruby in Wheezy @ 関西闇Ruby
Nseg20120825
Nseg20120825
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19
Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編
実は怖くないDevOps
実は怖くないDevOps
Ruby In Wheezy
Ruby In Wheezy
Tokyo.R#16 wdkz
Tokyo.R#16 wdkz
RubyによるMac OS Xデスクトップアプリケーション開発入門--Snow Leopard対応版
RubyによるMac OS Xデスクトップアプリケーション開発入門--Snow Leopard対応版
Rubyな日々
Rubyな日々
Ruby Enterprise Environment
Ruby Enterprise Environment
クラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloud
Sinatra and heroku for mac
Sinatra and heroku for mac
Oracle Solaris 11デベロッパーが押さえておきたい機能
Oracle Solaris 11デベロッパーが押さえておきたい機能
OSSDB MySQL
OSSDB MySQL
Railsの基礎
Railsの基礎
Management of Gems using Bundler.
1.
K-Ruby 資料 BundlerやらRailsやら基本的なこと 2011年11月24日 鹿児島大学 学術情報基盤センター 学術情報処理研究部門 古屋 保 furuya@cc.kagoshima-u.ac.jp November 24, 2011 © Tamotsu FURUYA, All rights reserved. 1
2.
K-Ruby 資料 皆さんご存知の... https://rvm.beginrescueend.com/ November 24, 2011 © Tamotsu FURUYA, All rights reserved. 2
3.
K-Ruby 資料 RVMについて ● RVM – バージョン環境を簡単に切り替えられる $ rvm use ruby-1.9.2 – gemの組合せ(Gemセット)も管理できる $ rvm gemset use rails3x – RubyもGemセットも一発で切り換えられる $ rvm use ruby-1.9.2@rails3x – ディレクトリ内に「.rvmrc」ファイルを作成し,その中に上記 コマンドを記載しておくと,さらに幸せになれる! November 24, 2011 © Tamotsu FURUYA, All rights reserved. 3
4.
K-Ruby 資料 RVMについて ● RVM – 「.rvm」配下に何か色々作られるのが,どうも...しかも パスが長い! – cdコマンドやgemコマンドが何かとすり替えられている. (別のスクリプトに置き換わっている) – 「rvmsudo」って何もの?(「sudo rvm …」じゃない の?) – もう Ruby 1.9.X onlyの環境で良いかも... November 24, 2011 © Tamotsu FURUYA, All rights reserved. 4
5.
K-Ruby 資料 今回紹介するのは... http://gembundler.com/ November 24, 2011 © Tamotsu FURUYA, All rights reserved. 5
6.
K-Ruby 資料 Bundlerについて ● Bundler – RubyGemsのラッパー – コマンドは「bundle」 – Rails 3 で公式に採用されている gem の管理ツール – 依存関係を調べ,必要な全てのパッケージをインストールして くれる. – gemを特定のバージョンに固定(指定)できる – アプリケーションごとにgemパッケージを独立して管理するこ とができる. November 24, 2011 © Tamotsu FURUYA, All rights reserved. 6
7.
K-Ruby 資料 Bundlerの導入 ● まずは,RVMの削除 $ rvm seppuku $ rm -rf ~/.rvmrc .bashrc あるいは .bash_profile に記述してある rvm スクリ プトのロード部分を削除 ● 次に,gem をアンインストールしていく $ gem uninstall hogehoge ● 全ての gem をアンインストール(全部消える) $ gem list | cut -d " " -f1 | sudo xargs gem uninstall November 24, 2011 © Tamotsu FURUYA, All rights reserved. 7
8.
K-Ruby 資料 Bundlerの導入 ● Bundlerをインストール $ sudo gem install bundler $ gem list *** LOCAL GEMS *** Bundler (1.0.21) November 24, 2011 © Tamotsu FURUYA, All rights reserved. 8
9.
K-Ruby 資料 BundlerによるRailsアプリ作成 ● Railsアプリ用のディレクトリを作成する $ mkdir myapp ● 作成したディレクトリに移動し,Gemfileを作成 $ bundle init ● Gemfileを編集する source "http://rubygems.org" gem "rails", "3.0.11" November 24, 2011 © Tamotsu FURUYA, All rights reserved. 9
10.
K-Ruby 資料 BundlerによるRailsアプリ作成 ● インストールする gem のバージョン指定 gem "nokogiri" gem "rails", "3.0.0.beta3" gem "rack", ">=1.0" gem "thin", "~>1.1" November 24, 2011 © Tamotsu FURUYA, All rights reserved. 10
11.
K-Ruby 資料 BundlerによるRailsアプリ作成 ● gemファイルのインストールパスを指定してbundle install $ bundle install –-path vendor/bundle – 「vendor/bundle/ruby/1.9.1/」配下にgemがインストール – gemの依存関係を記述した Gemfile.lock が生成 GEM remote: http://rubygems.org/ specs: abstract (1.0.0) actionmailer (3.0.11) actionpack (= 3.0.11) mail (~> 2.2.19) actionpack (3.0.11) activemodel (= 3.0.11) activesupport (= 3.0.11) : November 24, 2011 © Tamotsu FURUYA, All rights reserved. 11
12.
K-Ruby 資料 BundlerによるRailsアプリ作成 ● Railsのスケルトン作成 $ bundle exec rails new . ● 再度(2度目はパスの指定なしでOK) $ bundle install ● その理由...「.bundle/config」ファイル BUNDLE_PATH: vendor/bundle BUNDLE_DISABLE_SHARED_GEMS: '1' November 24, 2011 © Tamotsu FURUYA, All rights reserved. 12
13.
K-Ruby 資料 BundlerによるRailsアプリ作成 ● 全てのgemコマンドの実行の際,頭に「bundle exec」を付 加する必要がある. – $ bundle exec rails – $ bundle exec rake – $ bundle exec irb ● 「$ bundle install –-binstubs」と実行すると rails,rake, irb などのコマンドが ./bin ディレクトリにインストールされ る. November 24, 2011 © Tamotsu FURUYA, All rights reserved. 13
14.
K-Ruby 資料 まとめ ● システムや開発環境単位ではなく,アプリケーション単位で gemを管理することが可能. ● 色々な gem をインストールおよびアップデートしたことに よるバージョンの不整合が起きる問題が解消される. ● バージョンロック(Gemfile.lock)により,決まったgemの バージョン構成でデプロイできる. ● しかし,「bundle exec」を頭につけるのが面倒. →「Rails_root/bin」を$PATHに追加すれば解決! ● アプリケーションフォルダが肥大化してしまう. →しょうがないかも. November 24, 2011 © Tamotsu FURUYA, All rights reserved. 14
15.
K-Ruby 資料 実践! (1)まずはDBとテーブルの作成 $ mysql -u root -p mysql> grant all on my_app_db.* to hoge@localhost -> identified by 'foobar' mysql> ¥q $ mysql -u hoge -p mysql> create database my_app_db; mysql> create table students ( -> sid char(10) NOT NULL PRIMARY KEY, -> name varchar(20), -> birth date); November 24, 2011 © Tamotsu FURUYA, All rights reserved. 15
16.
K-Ruby 資料 (2)Bundlerを使ったRails環境構築 $ mkdir my_app $ cd my_app $ bundle init $ vi Gemfile $ bundle install --path vendor/bundle $ bundle install --binstubs [ Gemfile ] source "http://rubygems.org" gem "rails", "3.0.11" November 24, 2011 © Tamotsu FURUYA, All rights reserved. 16
17.
K-Ruby 資料 (3)新規アプリ作成とMySQL DBの指定 $ bundle exec rails new . -T -d mysql (または,$ bin/rails new . -T -d mysql) $ bundle install $ vi config/database.yml [ config/database.yml ] : development: adapter: mysql2 encoding: utf8 database: my_app_db username: hoge password: foobar : November 24, 2011 © Tamotsu FURUYA, All rights reserved. 17
18.
K-Ruby 資料 (4)Studentモデル作成(O/R Mapping) $ bundle exec rails server $ bundle exec rails generate model Student $ vi app/models/student.rb $ bundle exec rails db $ bundle exec rails console [ app/models/students.rb ] class Student < ActiveRecord::Base set_primary_key 'sid' end November 24, 2011 © Tamotsu FURUYA, All rights reserved. 18
19.
K-Ruby 資料 (5)routingとStudentsコントローラの作成 $ vi config/routes.rb $ bundle exec rails generate controller Students $ vi app/controllers/students_controller.rb [ config/routes.rb ] MyApp::Application.routes.draw do match 'lists' => 'students#list' : end [ app/controllers/students_controller.rb ] lass StudentsController < ApplicationController def list end end November 24, 2011 © Tamotsu FURUYA, All rights reserved. 19
20.
K-Ruby 資料 (6)ビューの作成,コントローラとの連携 $ echo "hello" > app/views/students/list.html.erb $ vi app/controllers/students_controller.rb $ vi app/views/students/list.html.erb [ app/controllers/students_controller.rb ] lass StudentsController < ApplicationController def list @students = Student.all end end [ app/views/students/list.html.erb ] hello<br /> <%= p @students %> November 24, 2011 © Tamotsu FURUYA, All rights reserved. 20
21.
K-Ruby 資料 (7)とりあえずレコードの内容を表示 [ app/views/students/list.html.erb ] <table> <tr> <th>Sid</th><th>Name</th><th>Birth</th> </tr> <% @students.each do |s| %> <tr> <td><%= s.sid %></td> <td><%= s.name %></td> <td><%= s.birth %></td> </tr> <% end %> </table> November 24, 2011 © Tamotsu FURUYA, All rights reserved. 21
22.
K-Ruby 資料 (8)学生一覧から個人データを表示させる [ config/routes.rb ] MyApp::Application.routes.draw do match 'lists' => 'students#list' match 'lists/:sid' => 'students#show' : end [ app/controllers/students_controller.rb ] class StudentsController < ApplicationController def list @students = Student.all end def show @student = Student.find(params[:sid]) end end November 24, 2011 © Tamotsu FURUYA, All rights reserved. 22
23.
K-Ruby 資料 (8)学生一覧から個人データを表示させる [ app/views/students/show.html.erb ] <table> <tr><th>Sid</th><td><%= @student.sid %></td></tr> <tr><th>Name</th><td><%= @student.name %></td></tr> <tr><th>Birth</th><td><%= @student.birth %></td></tr> </table> <%= link_to 'return lists', lists_path %> [ config/routes.rb ] MyApp::Application.routes.draw do match 'lists' => 'students#list' match 'lists/:sid' => 'students#show', :as => 'list' : end November 24, 2011 © Tamotsu FURUYA, All rights reserved. 23
24.
K-Ruby 資料 (8)学生一覧から個人データを表示させる [ app/views/students/list.html.erb ] <table> <tr> <th>Sid</th><th>Name</th><th>Birth</th> </tr> <% @students.each do |s| %> <tr> <td><%= link_to s.sid, list_path(s.sid) %></td> <td><%= s.name %></td> <td><%= s.birth %></td> </tr> <% end %> </table> November 24, 2011 © Tamotsu FURUYA, All rights reserved. 24
Download now