Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ruby 環境構築 @Niigata.rb#3
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kasacchiful
PRO
August 31, 2013
520
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ruby 環境構築 @Niigata.rb#3
Niigata.rb #3 で発表した資料です。
kasacchiful
PRO
August 31, 2013
More Decks by kasacchiful
See All by kasacchiful
上越のサメ食文化を訪ねて - 新潟市民の初体験レポ / ssmjp-shark
kasacchiful
PRO
1
59
Rust on AWS でデータ分析 / 20260523iotlt-niigata-rust-on-aws
kasacchiful
PRO
0
26
Step Functionsで始めるサーバーレス入門 〜 つないで動かすAWSサーバーレス
kasacchiful
PRO
0
57
Amazon Q Developer CLI (現Kiro CLI) で作った 新潟ランチマップWebアプリのこれまでとこれから / 20260207jawsug-tochigi
kasacchiful
PRO
0
98
Amazon SageMaker Catalogの、AIエージェントによる自動データ分類機能を試してみようとしたが、できなかったので、代わりに最近構築したデータ連携基盤を紹介します / 20260117jawsug-fukui
kasacchiful
PRO
0
98
データファイルをAWSのDWHサービスに格納する / 20251115jawsug-tochigi
kasacchiful
PRO
2
280
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
PRO
0
910
ワイがおすすめする新潟の食 / 20250912jasst-niigata-lt
kasacchiful
PRO
1
59
WorkersでDiscord botを試してみた / 20250822workers-tech-talk-niigata
kasacchiful
PRO
1
170
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Crafting Experiences
bethany
1
180
The Cost Of JavaScript in 2023
addyosmani
55
10k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
390
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
380
How to Ace a Technical Interview
jacobian
281
24k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Facilitating Awesome Meetings
lara
57
7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
Unsuck your backbone
ammeep
672
58k
Transcript
͡ΊͯͷRubyڥߏங ּݪɹɹ( @kasacchiful ) 138݄31༵
త Rubyͷ࣮ߦڥΛߏஙͯ͠Έ·͠ΐ͏ Ruby͕ಈ͔ͳ͍ͱɺษڧ··ͳΒͳ͍ʂ Ruby͕ಈ͔ͳ͍ͱɺศརͳRubyπʔϧ ͑ͳ͍ʂ OSผʹઆ໌͍͖ͯ͠·͢ 138݄31༵
ࣗݾհ ּݪɹ (@kasacchiful) ৽ׁࢢࡏॅ SIerۈ ීஈMacɺࣄWindows JaSST৽ׁɹ࣮ߦҕһ Ruby͕͓ؾʹೖΓ 138݄31༵
ຊΔ͜ͱ Mac homebrew + rbenv, ruby-build Linux ( CentOS )
rbenv, ruby-build Windows One-Click Installer bundlerʹΑΔgemཧ αϯϓϧΞϓϦέʔγϣϯ࣮ߦ 138݄31༵
࣮ߦڥߏங Macฤ 138݄31༵
࣮ߦڥߏங (Macฤ) σϑΥϧτͰ͑Δ Ruby 1.8.7 αϙʔτऴྃ ιʔείϯύΠϧ ·ͣ༻͠ͳ͍ 138݄31༵
࣮ߦڥߏங (Macฤ) rvm rbenv, ruby-build ෳͷRubyόʔδϣϯΛΠϯετʔϧɺ Γସ͑Մೳ rvmߴػೳɺrbenvγϯϓϧͱ͍͏ҹ rvmͰෳͷgemϑΝΠϧΛཧՄೳ bundler͋Δ͔Βෆཁ͔ʢޙड़ʣ
͜͜Ͱɺrbenv, ruby-buildΛͬͯߏஙͯ͠Έ·͠ΐ͏ɻ 138݄31༵
࣮ߦڥߏங (Macฤ) ߏஙڥ MacOS X 10.8.3 homebrew 0.9.4 git 1.7.12.4
(Apple Git-37) rbenv 0.4.0 ruby-build 20130518 138݄31༵
࣮ߦڥߏங (Macฤ) HomebrewΠϯετʔϧ ཁjava, Xcode command line tools XcodeΛ։͖ɺʮpreferencesʯ 㱺ʮdownloadsʯ㱺ʮComponentsʯ͔Β
ʮCommand Line ToolsʯΛΠϯετʔϧ Homebrew αΠτͷΠϯετʔϧίϚϯυ࣮ߦ 138݄31༵
$ ruby -e “$(curl -fsSL https:/ /raw.github.com/mxcl/hombrew/go)” $ brew --version
$ brew update $ brew doctor 138݄31༵
࣮ߦڥߏங (Macฤ) rbenv, rubu-buildΠϯετʔϧ $ brew install openssl $ brew
install readline $ brew install ruby-build $ brew install rbenv $ echo ‘eval “$(rbenv init -)”’ >> ~/.bash_profile $ source ~/.bash_profile 138݄31༵
࣮ߦڥߏங (Macฤ) rbenv, rubu-buildΠϯετʔϧ $ RUBY_CONFIGURE_OPTS="--with-readline-dir=`brew --prefix readline` --with-openssl-dir=`brew --prefix
openssl`" rbenv install 2.0.0-p195 $ rbenv rehash $ rbenv global 2.0.0-p195 ## ϓϩδΣΫτ͝ͱʹόʔδϣϯࢦఆ͢Δ߹ $ rbenv local 2.0.0-p195 ɹ#=> .ruby-versionϑΝΠϧʹॻ͖ࠐ·ΕΔ 138݄31༵
࣮ߦڥߏங (Macฤ) ಈ࡞֬ೝ $ irb > require ‘openssl’ => true
> require ‘zlib’ => true > require ‘open-uri’ => true > open (“https:/ /www.google.com”).read => <doctype html>... 138݄31༵
࣮ߦڥߏங (Macฤ) rbenvͷ໘ͳ gemίϚϯυΛΠϯετʔϧ͢Δͨͼʹɺ rbenv rehash͠ͳ͍ͱ͍͚ͳ͍ ~/.rbenv/shims ҎԼͷߋ৽ gem install
rbenv-rehash 138݄31༵
࣮ߦڥߏங Linuxฤ 138݄31༵
࣮ߦڥߏங (Linuxฤ) yum apt-get ͰೖखՄೳ Ͱόʔδϣϯݹ͍ʢ͔ͨ͠ͳ͍ʣ ιʔείϯύΠϧ ιʔε͔ΒrpmbuildͬͯrpmΛ࡞͢Δ͜ ͱͰ͖Δɻ
138݄31༵
࣮ߦڥߏங (Linuxฤ) rvm rbenv, ruby-build Macͱಉ༷ʹར༻Մೳɻ ྫͱͯ͠ɺCentOS 6.4্ʹrbenv, ruby- buildΛΠϯετʔϧͯ͠Έ·͢
γεςϜϫΠυʹ͑ΔΑ͏ʹͯ͠Έ· ͢ 138݄31༵
# groupadd -g 600 staff # yum install git #
cd /usr/local/src # git clone https:/ /github.com/sstephenson/rbenv.git rbenv # chgrp -R staff rbenv # chmod -R g+rwxXs rbenv # vi /etc/profile.d/rbenv.sh export RBENV_ROOT=/usr/local/rbenv export PATH="$RBENV_ROOT/bin:$PATH" eval "$(rbenv init -)" 138݄31༵
# cd /usr/local/src/rbenv # mkdir plugins # cd /usr/local/src/rbenv/plugins #
git clone https:/ /github.com/sstephenson/ruby-build.git # chgrp -R staff ruby-build # chmod -R g+rwxs ruby-build 138݄31༵
# cd /usr/local/src/rbenv/plugins # git clone https:/ /github.com/sstephenson/rbenv-default-gems.git # chgrp
-R staff rbenv-default-gems # chmod -R g+rwxs rbenv-default-gems # cd /usr/local/src/rbenv # vi default-gems bundler pry rbenv-rehash 138݄31༵
(rbenv installதͷcheckͰ͍Ζ͍ΖΓͳ͍ͷͰɺyum install͓ͯ͘͠) # yum install gcc make zlib-devel readline-devel
openssl-devel # rbenv install 1.9.3-p448 # rbenv install 2.0.0-p247 # rbenv rehash # rbenv global 2.0.0-p247 138݄31༵
࣮ߦڥߏங Windowsฤ 138݄31༵
࣮ߦڥߏங (Windowsฤ) Windows൛όΠφϦ͕༗ࢤʹΑΓ͞Εͯ ͍·͢ɻ ActiveScriptRuby One-Click Ruby Installer for Windows
͜͜ͰɺOne-Click InstallerΛͬͯߏஙͯ͠Έ·͠ΐ͏ɻ 138݄31༵
࣮ߦڥߏங (Windowsฤ) μϯϩʔυ http:/ /rubyinstaller.org/downloads/ RubyΠϯετʔϥͱDevKitΛμϯϩʔυ DevKit: native extensionΛϏϧυ͢Δπʔϧ 138݄31༵
࣮ߦڥߏங (Windowsฤ) RubyΠϯετʔϥ࣮ߦ Πϯετʔϥͷࢦࣔʹै͏͚ͩ σϑΥϧτͰɺC:¥Ruby200C:¥Ruby193ʹ Πϯετʔϧ͞Ε·͢ ύε͕௨͍ͬͯͳ͔ͬͨΒɺύεΛ௨͠·͠ΐ ͏ 138݄31༵
࣮ߦڥߏங (Windowsฤ) DevKit࣮ߦ ࣗݾղౚܗࣜͳͷͰɺ࣮ߦͯ͠ղౚ͢Δ ίϚϯυ͔Βɺղౚͨ͠ϑΥϧμʹcdͨ͠ޙɺ ҎԼΛ࣮ߦ ruby dk.rb init ruby
dk.rb install 138݄31༵
࣮ߦڥߏங (Windowsฤ) RubyͷόʔδϣϯΓସ͑ʁ pikΛΠϯετʔϧ͢Δͱɺrubyͷόʔδϣ ϯΓସ͕͑Ͱ͖ΔΒ͍͠ʢࣗະ֬ೝʣ ࣗɺύεΛΓସ͑Δ͜ͱͰରԠͯ͠ ͍Δ 138݄31༵
࣮ߦڥߏங (Windowsฤ) WindowsͰͳ͘ಈ͖·͕͢ɺWindows ͩͱ͢ΜͳΓಈ͔ͳ͍gemଟ͍Ͱ͢ɻ MacLinuxʹൺͯɺWindows࣮ߦ͕ ͍Β͍͠ʢࣗͰະ֬ೝʣ ݸਓతʹɺମײ΄ͱΜͲؾʹͳΒͳ͍Ϩϕϧ͔ͳ WindowsͰ͏·͘ಈ͔ͳ͍߹ɺ Ծڥ্ͷLinuxͰಈ͔͢͜ͱ ݕ౼ͨ͠΄͏͕͍͍͔ɻ
138݄31༵
࣮ߦڥߏங bundlerฤ 138݄31༵
࣮ߦڥߏங (bundlerฤ) bundlerΛͬͯgemΛཧ͠·͠ΐ͏ جຊతʹɺbundler͚ͩ gem install ϓϩδΣΫτ͝ͱʹGemfileʹͯཧ ϓϩδΣΫτԼͷvendor/bundleʹgemΛ Πϯετʔϧ rvmͷgemsetସෆཁʹͳΔ
138݄31༵
࣮ߦڥߏங (bundlerฤ) bundler Πϯετʔϧ $ gem install bundler $ rbenv
rehash 138݄31༵
࣮ߦڥߏங (bundlerฤ) rubyϓϩδΣΫτ foo ͷ߹ $ cd ~/foo $ bundle
init #=> Gemfileͻͳܗ࡞ # A sample Gemfile source "https:/ /rubygems.org" # gem "rails" gem ‘pp’ $ bundle install --path=vendor/bundle #=> ./vendor/bundle ʹΠϯετʔϧ 138݄31༵
࣮ߦڥߏங (bundlerฤ) rubyϓϩδΣΫτ foo ͷ߹ $ vi main.rb require ‘bundler/setup‘
#=> bundlerͷgemʹݻఆ require ‘pp‘ #=> ݸผʹrequire Bundler.require #=> Ұׅrequire pp “Foo!” $ ruby main.rb 138݄31༵
࣮ߦڥߏங (bundlerฤ) railsϓϩδΣΫτ hoge ͷ߹ $ cd ~/hogehoge $ bundle
init #=> Gemfileͻͳܗ࡞ # A sample Gemfile source "https:/ /rubygems.org" gem "rails" $ bundle install --path=vendor/bundle #=> ./vendor/bundle ʹΠϯετʔϧ 138݄31༵
࣮ߦڥߏங (bundlerฤ) railsϓϩδΣΫτ hoge ͷ߹ $ bundle exec rails new
hoge -B $ cd hoge $ bundle install --path=vendor/bundle 138݄31༵
·ͱΊ 138݄31༵
·ͱΊ Mac Linux ( CentOS ) rbenv, ruby-build Windows όΠφϦΠϯετʔϧ
bundlerʹΑΔgemཧ ϓϩδΣΫτ͝ͱʹ࣋ͭͱศར 138݄31༵
138݄31༵