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
Carton を既存の環境に入れるまで入れてから
Search
soh335
February 22, 2014
0
200
Carton を既存の環境に入れるまで入れてから
soh335
February 22, 2014
Tweet
Share
More Decks by soh335
See All by soh335
React Native in Nature
soh335
1
1.3k
Nature での React Native アプリの運用について / React Native App in Nature
soh335
7
1.5k
perl な web application のためのテスト情報
soh335
5
3.5k
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
Optimizing for Happiness
mojombo
376
70k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
19
2.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Automating Front-end Workflow
addyosmani
1366
200k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
BBQ
matthewcrist
85
9.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Transcript
$BSUPOΛطଘͷڥʹೖΕΔ·Ͱ ೖΕ͔ͯΒ TPI ZPLPIBNBQN
DBSUPOԽ͢Δඞ༻͕͋ͬͨ ֤αʔόͰNPEVMFͷWFSTJPO͕৯͍ҧͬͯΔ Մೳੑ͕͋ͬͨ αʔόҠߦͱ͔͋ͬͨ
QSFQBSFGPSDBSUPO
ݱঢ়ͷDQBOpMF͔ΒDBSUPOԽΛࢼΈΔ ݹ͍WFSTJPOΛͬͯΔNPEVMFैग़དྷ ͦ͏͔ௐΔ DQBOpMFͳ͍ͱೖͬͯΔNPEVMF͔Βੜͨ͠ ΓͰΊΜͲͦ͘͞͏ͩ
DBSUPOJOTUBMM DBSUPOJOTUBMMͰTOBQTIPU࡞ͬͯEFQMPZ TFSWFSతͳͱ͜ΖͰDBSUPOJOTUBMM EFQMPZNFOUͯ͠MPDBMશ෦ࢃ͘ TOBQTIPU࡞ΔڥͱEFQMPZ͞ΕΔڥ͕ಉ͡ ํ͕ྑ͍ͱࢥ͍·͢ɻ
*NBHFSQSPCMFN
*NBHFSΛJOTUBMM͢Δͱɺ͠ *NBHFS'JMF 1/(c(*'c+1&( JOTUBMMग़དྷΔ Α͏Ͱ͋ΕೖΕΔɻೖΒͳ͍Α͏ͳΒೖΕͳ ͍ɻ DQBON*NBHFS'JMF1/(Έ͍ͨͳ͜ͱग़དྷ Δ
requires ‘Imager’; requires ‘Imager::File::PNG’;
requires ‘Imager’; requires ‘Imager::File::PNG’; MJCQOH͕͋Δ߹ *NBHFSΛJOTUBMMͨ࣌͠Ͱ *NBHFS'JMF1/(JOTUBMM͞Ε Δ *NBHFS'JMF1/(طʹ͋Δ ͷͰ໌ࣔతʹೖΕͨ͜ͱʹͳΒͳ͍
VQUPEBUF DQBOpMFTOBQTIPUʹه͞Εͣ DBSUPODIFDL͕௨Βͳ͍
requires ‘Imager’; requires ‘Imager::File::PNG’; MJCQOH͕ͳ͍߹ *NBHFSΛJOTUBMMͨ࣌͠Ͱ *NBHFS'JMF1/(JOTUBMM͞ Εͳ͍ MJCQOH͕ͳ͍ͷͰ*NBHFS'JMF1/( JOTUBMMग़དྷͣFSSPSʹͳΔ
requires ‘Imager’;
requires ‘Imager’; *NBHFSΛJOTUBMMͨ࣌͠Ͱ *NBHFS'JMF1/(JOTUBMM͞Ε Δ MJCQOH͕͋Δ߹
requires ‘Imager’; *NBHFS'JMF1/(͕͑Δ ͔Ͳ͏͔DBSUPO͚ͩͰஅ ͕͚ͭΒΕͳ͍ MJCQOH͕ͳ͍߹ *NBHFSΛJOTUBMMͨ࣌͠Ͱ *NBHFS'JMF1/(JOTUBMM͞ Εͳ͍
*NBHFS'JMF1/(͕DBSUPOʹه͞Εͯ DBSUPODIFDLग़དྷΔͷ͕͍͍͚Ͳʜ MJCQOHͱ͔ͪΌΜͱೖΔΑ͏ʹαʔόߏங͞Ε ͯΔલఏͱͯ͠requires ‘Imager::File::PNG’ ॻ͔ͳ͍΄͏͕ྑ͍ʜ use_ok ‘Imager::File::PNG’ IUUQTPIIBUFOBCMPHDPNFOUSZ
5JNF1JFDF.Z42- QSPCMFN
requires 'Time::Piece', '>= 1.21'; requires 'Time::Piece::MySQL';
# carton snapshot format: version 1.0 DISTRIBUTIONS Time-Piece-1.23 pathname: R/RJ/RJBS/Time-Piece-1.23.tar.gz
provides: Time::Piece 1.23 Time::Seconds 1.23 requirements: Exporter 5.57 ExtUtils::MakeMaker 0 Time-Piece-MySQL-0.06 pathname: K/KA/KASEI/Time-Piece-MySQL-0.06.tar.gz provides: Time::Piece 0.06 Time::Piece::MySQL 0.06 requirements: ExtUtils::MakeMaker 0 Test::More 0.47 Time::Piece 1.03
$ carton install —deployment Installing modules using /path/to/cpanfile (deployment mode)
Found Time::Piece 0.06 which doesn't satisfy 1.21. ! Installing the dependencies failed: Installed version (1.20_01) of Time::Piece is not in range '1.21' ! Bailing out the installation for /path/to/. Installing modules failed
GBJMʜʜ
None
None
࡞ऀͷਓʹͳ͓ͯ͠Β͍͔ͬͯ͘͠ͳ͍͔ͳ ʜ 5FTU.PDL-81Ͱಉ͕͋ͬͨ͡Έ͍ͨ IUUQTIJCBZVIBUFOBCMPHDPNFOUSZ IUUQTPIIBUFOBCMPHDPNFOUSZ
TFUVQDBSUPO
GBUQBDL YT͕ೖΔ͚Ͳͳ͍͚Ͳ.͙ Β͍͋Δ HMPCBMʹDQBON$BSUPO DQBONPEVMFCPPUTUSBQ IUUQ XFCMPHCVMLOFXTOFUQPTU NJZBHBXBDQBONPEVMFCPPUTUSBQ
IUUQTIJCBZVIBUFOBCMPHDPNFOUSZ
*TDBSUPOSFBEZ
$*ͰQBTT͢ΔΑ͏ʹ ࣾͷϦΫΤετ͚ͩDBSUPO͍ΕͨTFSWFSʹ ͚Δ Ұ෦ͷTFSWFSΛDBSUPOͰಈ͔ͯ͠֎͔ΒͷϦ ΫΤετΛগͳΊʹͯͯΈΔ MPH NFNPSZ DQVFUDʜ XPSLFSͱ͔
LBHFతͳͷ͕͋Εָͳͷ͔ͳʁ HMPCBMͳͷݟΔͷͰ࠷ѱNPEVMF͕ݟ͔ͭ Βͳ͍͍ͬͯ͏Τϥʔͳ͍ͣʜ
BGUFSJOTUBMMFE
DBSUPOFYFDʜ`TDPTU
ͱ͋ΔαʔόͰDBSUPO͍Ε͔ͯΒDQVෛՙ͕ มΘͬͨ αʔόࢹͷҝʹසൟʹىಈ͞ΕΔεΫϦϓτ ΛDBSUPOFYFD͍ͯ͠Δͷ͕ݪҼͩͬͨ
None
͚ͩ͜͜ൈ͖ग़ͨ͠TIFMM TDSJQU͚ͩ༻ҙʜ
DBSUPOXJUI$*
IUUQXXXTPOHNVKQSJKJ FOUSZ DBSUPOIUNM
$ ( branch A ) carton install ! $ (
branch B ) echo “requires ‘Teng’;” > cpanfile $ ( branch B ) carton install # Teng installed to ./local/lib/perl5 # cpanfile.snapshot is updated ! $ ( branch A ) carton install # cpanfile.snapshot is updated
DBSUPOTOBQTIPUMPDBMMJCQFSMBSDNFUBҎԼ ͔Β࡞ΒΕΔ "CSBODIͰrequires ‘Teng’; carton install #CSBODIʹΓସ͑DBSUPOJOTUBMM͢ΔͱTOBQTIPU ʹ5FOHͱґଘNPEVMF͕ه͞Εͯ͠·͏ ࣗಈԽ͢ΔʹMPDBMΛαϥʹ͢Δ͔͠ͳ͍͔ͳʁ͏ ͪΐͬͱDBSUPOJOTUBMM͕ૣ͘ͳΕαϥʹ͢Δͷ
ؾ͕ͻ͚ͳ͍ͣʜʜ