Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Tomoya Kawanishi
622 views
RubyGems と Bundler について
2019年6月12日 大手町.rb #18 発表資料
Technology
◦
Related topics:
Ruby on Rails Overview
•
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 14
2
/ 14
3
/ 14
4
/ 14
5
/ 14
6
/ 14
7
/ 14
8
/ 14
9
/ 14
10
/ 14
11
/ 14
12
/ 14
13
/ 14
14
/ 14
More Related Content
PDF
RubyGems と Bundler について
by
Tomoya Kawanishi
PDF
Ruby の正規表現について
by
Tomoya Kawanishi
PDF
Ruby での外部コマンドの実行について
by
Tomoya Kawanishi
PDF
Ruby の文字列について
by
Tomoya Kawanishi
PDF
mrubyのすすめ
by
masayoshi takahashi
PPTX
2011 10-satalabo-naaon
by
Naoki Okino
PDF
Ruby の制御構造とリテラルについて
by
Tomoya Kawanishi
PDF
HTTPと Webクローリングについて
by
Tomoya Kawanishi
RubyGems と Bundler について
by
Tomoya Kawanishi
Ruby の正規表現について
by
Tomoya Kawanishi
Ruby での外部コマンドの実行について
by
Tomoya Kawanishi
Ruby の文字列について
by
Tomoya Kawanishi
mrubyのすすめ
by
masayoshi takahashi
2011 10-satalabo-naaon
by
Naoki Okino
Ruby の制御構造とリテラルについて
by
Tomoya Kawanishi
HTTPと Webクローリングについて
by
Tomoya Kawanishi
What's hot
PPT
UnicodeによるXSSとSQLインジェクションの可能性
by
Hiroshi Tokumaru
PDF
Playで作るwebsocketサーバ
by
ke-m kamekoopa
PPTX
JavaScriptライフを10倍楽しくする方法-HTML5fun-
by
Masayuki Abe
PPTX
Tiny server
by
komem3
PPTX
MBSD Cybersecurity Challenges 2017 本選プレゼン
by
Ryohei Kawashima
PDF
Rubyのコーディング規約 @ Niigata.rb #3
by
Mihyaeru Takano
PPTX
Let’s angular js!!
by
Syoko Matsumura
UnicodeによるXSSとSQLインジェクションの可能性
by
Hiroshi Tokumaru
Playで作るwebsocketサーバ
by
ke-m kamekoopa
JavaScriptライフを10倍楽しくする方法-HTML5fun-
by
Masayuki Abe
Tiny server
by
komem3
MBSD Cybersecurity Challenges 2017 本選プレゼン
by
Ryohei Kawashima
Rubyのコーディング規約 @ Niigata.rb #3
by
Mihyaeru Takano
Let’s angular js!!
by
Syoko Matsumura
Similar to RubyGems と Bundler について
KEY
Bundler kanazawa.rb meetup #2 2012/09/19
by
Hitoshi Kurokawa
PDF
Carton について何か話す
by
Masaki Nakagawa
PDF
Management of Gems using Bundler.
by
Tamotsu Furuya
PDF
rvm でbundlerと仲良くする
by
Yukimitsu Izawa
PPTX
How to make gem
by
Ken Iiboshi
PDF
CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜
by
niwatako
PDF
RubyGemsの落とし穴
by
Kazuhiro Nishiyama
PDF
Rubykansai 81
by
Satomi Tsujita
KEY
Real world rails
by
Jun Yokoyama
PDF
20160716 Gemのお話
by
Takahiro Kawahara
PDF
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナー
by
Tomoya Kawanishi
PDF
Summary of Ruby
by
Tamotsu Furuya
PDF
Rails3.1rc4を試してみた
by
Takahiro Hidaka
PDF
Ember コミュニティとわたし
by
Ryunosuke SATO
PDF
Start-padrino
by
Uchio Kondo
PDF
毎日gemをアップグレードする生活
by
sinsoku listy
PDF
Gemの話 紹介編
by
Satomi Tsujita
PDF
Jenkinsとpull requestを利用した、継続的なbundle update.
by
Misa Kondo
PDF
Sinatraでwebアプリケーション開発を学ぶ
by
Hiroshi Oyamada
PPTX
Ruby on Rails を用いたWEBアプリケーションの開発
by
Koichi Shimozono
Bundler kanazawa.rb meetup #2 2012/09/19
by
Hitoshi Kurokawa
Carton について何か話す
by
Masaki Nakagawa
Management of Gems using Bundler.
by
Tamotsu Furuya
rvm でbundlerと仲良くする
by
Yukimitsu Izawa
How to make gem
by
Ken Iiboshi
CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜
by
niwatako
RubyGemsの落とし穴
by
Kazuhiro Nishiyama
Rubykansai 81
by
Satomi Tsujita
Real world rails
by
Jun Yokoyama
20160716 Gemのお話
by
Takahiro Kawahara
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナー
by
Tomoya Kawanishi
Summary of Ruby
by
Tamotsu Furuya
Rails3.1rc4を試してみた
by
Takahiro Hidaka
Ember コミュニティとわたし
by
Ryunosuke SATO
Start-padrino
by
Uchio Kondo
毎日gemをアップグレードする生活
by
sinsoku listy
Gemの話 紹介編
by
Satomi Tsujita
Jenkinsとpull requestを利用した、継続的なbundle update.
by
Misa Kondo
Sinatraでwebアプリケーション開発を学ぶ
by
Hiroshi Oyamada
Ruby on Rails を用いたWEBアプリケーションの開発
by
Koichi Shimozono
More from Tomoya Kawanishi
PPTX
英単語の覚え方
by
Tomoya Kawanishi
PDF
ENECHANGE社での Scout APM 利用事例
by
Tomoya Kawanishi
PDF
エンジニア転職のノウハウ
by
Tomoya Kawanishi
PDF
Ruby on Rails のキャッシュ機構について
by
Tomoya Kawanishi
PDF
Ruby初心者からよく質問されること
by
Tomoya Kawanishi
PDF
Ruby のワンライナーについて
by
Tomoya Kawanishi
PDF
AWS のコスト管理をちゃんとしたくてやったこと
by
Tomoya Kawanishi
PDF
PostgreSQL のイケてるテクニック7選
by
Tomoya Kawanishi
PDF
Rake
by
Tomoya Kawanishi
PDF
Active record query interface
by
Tomoya Kawanishi
PDF
Active Support のコア拡張機能について
by
Tomoya Kawanishi
PDF
RubyのDir、File、IO について
by
Tomoya Kawanishi
PDF
Thread の利用事例紹介
by
Tomoya Kawanishi
PDF
Ruby の String のメソッドについて
by
Tomoya Kawanishi
PDF
Ruby on Rails プロジェクトでの他言語エコシステムとの共存方法
by
Tomoya Kawanishi
PDF
マークアップで使えるRuby
by
Tomoya Kawanishi
PPTX
エネチェンジでの Side ci 利用事例について
by
Tomoya Kawanishi
PDF
AWSコストの事業部別コスト配分について
by
Tomoya Kawanishi
PDF
Pry による repl 駆動開発について
by
Tomoya Kawanishi
PDF
Module での名前解決について
by
Tomoya Kawanishi
英単語の覚え方
by
Tomoya Kawanishi
ENECHANGE社での Scout APM 利用事例
by
Tomoya Kawanishi
エンジニア転職のノウハウ
by
Tomoya Kawanishi
Ruby on Rails のキャッシュ機構について
by
Tomoya Kawanishi
Ruby初心者からよく質問されること
by
Tomoya Kawanishi
Ruby のワンライナーについて
by
Tomoya Kawanishi
AWS のコスト管理をちゃんとしたくてやったこと
by
Tomoya Kawanishi
PostgreSQL のイケてるテクニック7選
by
Tomoya Kawanishi
Rake
by
Tomoya Kawanishi
Active record query interface
by
Tomoya Kawanishi
Active Support のコア拡張機能について
by
Tomoya Kawanishi
RubyのDir、File、IO について
by
Tomoya Kawanishi
Thread の利用事例紹介
by
Tomoya Kawanishi
Ruby の String のメソッドについて
by
Tomoya Kawanishi
Ruby on Rails プロジェクトでの他言語エコシステムとの共存方法
by
Tomoya Kawanishi
マークアップで使えるRuby
by
Tomoya Kawanishi
エネチェンジでの Side ci 利用事例について
by
Tomoya Kawanishi
AWSコストの事業部別コスト配分について
by
Tomoya Kawanishi
Pry による repl 駆動開発について
by
Tomoya Kawanishi
Module での名前解決について
by
Tomoya Kawanishi
RubyGems と Bundler について
1.
RubyGems と Bundler について 2019/6/12 大手町.rb
#18
2.
大手町.rb #18 発表資料
「RubyGems と Bundler について」 1自己紹介 Tomoya Kawanishi a.k.a. @cuzic エネチェンジ株式会社 チーフエンジニア 電力会社、ガス会社を切り替えるなら、エネチェンジ経由で! 一般家庭も!法人も!Ruby関西の中の人 Ruby関西の中の人 発表者として登壇くださる方、あとで声かけください。 大手町.rb の中の人 毎月 大手町.rb の開催を予定 東京駅、各線大手町駅から直結! Ruby の初級者がメインターゲット
3.
大手町.rb #18 発表資料
「RubyGems と Bundler について」 今日のテーマ RubyGems と Bundler。単語は聞いたことはあるはず こんなことありませんか? 謎の呪文・・・ 教えてもらったまま、なんとなくやってる・・・ そういう人向けに基本的なことを説明します 逆に下記のことは解説しません Gem ファイルの作り方、gemspec の作り方 gem のビルドの仕方 2
4.
大手町.rb #18 発表資料
「RubyGems と Bundler について」 3パッケージ管理システムの例 みんな、パッケージ管理システム、使ったことあるはず。 OS Red Hat Enterprise Linux系: RPM、Yum Debian系: dpkg、APT MacOS: Homebrew、MacPorts Windows: Chocolatey、PackageManagement、NuGet 言語 Ruby: RubyGems、 Bundler Python: pip、 conda PHP: PEAR、 PECL、 Composer
5.
大手町.rb #18 発表資料
「RubyGems と Bundler について」 4歴史的な流れ Ruby Conf 2004 (at Washington D.C.) RubyGems 、Ruby on Rails 、YARV の発表などがあった Ruby on Rails は複数のコンポーネントから構成される ActiveRecord、ActionPack、ActiveSupport など インストールの単純化などのためにパッケージ管理が必須! Ruby on Rails が RubyGems を正式採用! 当時は複数のパッケージ管理システムが群雄割拠 Ruby on Rails の影響もあり、RubyGems がデファクト化 Ruby 1.9 から RubyGems が標準に含まれる Ruby on Rails は依存gem が多すぎ。 gem の管理 = つらみ Bundler が登場! 複数バージョンの共存、バージョンアップが簡単になった。 Ruby on Rails 3 から Bundler をデフォルトで採用
6.
大手町.rb #18 発表資料
「RubyGems と Bundler について」 パッケージ管理システムとは パッケージ管理システムでできること インストール、アンインストールの管理 依存関係の解決 依存済パッケージの最新化 リポジトリからの指定パッケージの検索 RubyGems 上記のことができる Ruby 用のパッケージ管理システム gem形式と呼ばれるファイル形式を採用 Bundler たくさんの gem がどのバージョンを使うかを一元管理 Gemfile : 使いたいバージョンを指定するファイル Gemfile.lock :Bundler が決定したインストールすべきバージョ ンを格納したファイル 5
7.
大手町.rb #18 発表資料
「RubyGems と Bundler について」 RubyGems のコマンド 多くの人は install しか使わないのでは? 例えば、下記コマンドで rake の gem のファイルの中 で def invoke という文字列を検索できる gem contents rake | xargs fgrep "def invoke" 6 gem --help # ヘルプを表示 gem help commands # gem コマンド一覧を表示 gem install bundler # bundler をインストール gem environment # RubyGems のインストールディレクトリなどを表示 gem contents rake # インストールされたファイルのフルパス一覧を表示 gem list # 手元でインストール済の gem の一覧を表示 gem open rake # 指定した gem を EDITOR で開く gem pristine rake # 指定した gem を初期状態に戻す gem search # gem を検索 gem server # ドキュメントと gem repository の HTTP server を起動
8.
大手町.rb #18 発表資料
「RubyGems と Bundler について」 Bundler がなかったとき、あるとき Bundler の前の世界 アプリケーションを開発する 当然のように、いくつか外部ライブラリを使う 最初はうまく動いている あるタイミングから、インストールしたけど、動きませんと報 告が上がってくる 依存ライブラリの一部で、非互換なバージョンアップを発見 バージョンを古くしたらちゃんと動いた。 けど、これを各利用者の環境で周知、作業してもらうのは大変 Bundler が誕生したあとの世界 Gemfile を書く 必ず同じ gem のバージョンで動作する 古いプロジェクトでもちゃんと動作する みんな、幸せ 7
9.
大手町.rb #18 発表資料
「RubyGems と Bundler について」 Bundler を使ったプロジェクトのワークフロー bundle init で Gemfile を作成する ※ Ruby on Rails のプロジェクトなら不要 Gemfile を編集する bundle install する 指定バージョンの gem をインストール Gemfile を編集して、使う gem のバージョンを上げる bundle install で conflict発生 bundle update sinatra で conflict 解消 8 > bundle init source 'https://rubygems.org' gem 'sinatra', '~> 1.3.6' gem 'rack-cache' gem 'rack-bug' > bundle install source 'https://rubygems.org' gem 'sinatra', '~> 1.4.5' gem 'rack-cache' gem 'rack-bug' > bundle install > bundle update sinatra
10.
大手町.rb #18 発表資料
「RubyGems と Bundler について」 Gemfile の例 9 source 'https://rubygems.org' # 使いたい gem リポジトリを指定 source 'https://user:password@gems.example.com' # 社内の gem リポジトリも指定できる ruby '2.5.1' # 使いたい Ruby のバージョンを指定する gem 'rails', ">= 5.0.0" # Rails 5.0.0 以上のバージョンを使う gem 'rails', ">= 5.0.0", "< 5.1" # 5.0.0 以上、5.1 未満のバージョンを使う gem 'rails', "~> 5.0.0", # 上と同じ(5.0.0 以上、5.1 未満のバージョンを使う) gem 'rails', "~> 5.0", # 5.0 以上、6 未満のバージョンを使う) gem 'rspec', :require => false # インストールするけど、require はしない。 gem 'enechange-core', tag: 'v0.2.4', git: 'git@github.com:enechange/enechange-core.git' # git の origin を指定。 tag 、 branch 、 ref の指定も可能 # gem 'enechange-core', path: '../../enechange-core' gem 'webmock', group: "test" # bundle install --without test で、インストールを除外できる。 gem 'pry-rails', group: [:development, :test] # 一度に複数の group を指定 group :development, :test do # 複数の group への指定をブロック形式で記述 gem 'pry-doc' gem 'pry-byebug' end
11.
大手町.rb #18 発表資料
「RubyGems と Bundler について」 bundle のコマンド 10 > bundle install # 依存関係を解決しつつ、インストール > bundle update # バージョンを最新化 > bundle update rails # Rails とその依存関係のgem のバージョンのみ最新化。 > bundle exec rails -v # 現在のコンテキストで rails –v を実行 > bundle config # Bundler の設定を表示。repo アクセス時のクレデンシャル設定に使う > bundle binstubs # bin/ ディレクトリに現在のコンテキストで実行する stub を生成 > bundle clean # すでに使われなくなった gem を削除 > bundle list # 現在のコンテキストでの依存関係を含めたすべての gem のリストを表示 > bundle open activesupport # 環境変数 EDITOR で activesupport のディレクトリを開く > bundle show rake # rake のインストール先のディレクトリを表示 > bundle pristine # ローカルの編集済の gem を初期状態に戻す > bundle viz # graphviz を使って、依存関係のグラフを PNG で出力する
12.
大手町.rb #18 発表資料
「RubyGems と Bundler について」 良くある開発サイクル ① 依存ライブラリに起因してそうな不具合を発見 ② そのメソッドがどこにあるか調査 # 下記のコマンド的な > gem contents rake | xargs fgrep "def invoke" > bundle show rake | xargs fgrep –r "def invoke" ③ そのメソッドで binding.pry などして詳細を調査 > gem open rake > bundle open rake ④ 調査完了したら、gem pristine や bundle pristine を使って、初期状態に戻す ⑤ gem の記述内容を変更しても安心! 11
13.
大手町.rb #18 発表資料
「RubyGems と Bundler について」 まとめ 今回は、みんな使っているけれど、深くは理解していな い RubyGems と Bundler について紹介しました。 知らない機能もあったかもしれません。 これからの開発にお役立ちできるとうれしいです。 12
14.
ご清聴ありがとう ございました
Download