Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Carton を既存の環境に入れるまで入れてから
soh335
February 22, 2014
0
140
Carton を既存の環境に入れるまで入れてから
soh335
February 22, 2014
Tweet
Share
More Decks by soh335
See All by soh335
soh335
7
1k
soh335
5
2.9k
Featured
See All Featured
deanohume
294
28k
zenorocha
296
40k
frogandcode
128
20k
holman
461
280k
mza
80
4.1k
michaelherold
225
8.5k
sstephenson
145
12k
philhawksworth
190
17k
morganepeng
18
1.2k
aarron
257
36k
tanoku
258
24k
samlambert
237
10k
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͕ૣ͘ͳΕαϥʹ͢Δͷ
ؾ͕ͻ͚ͳ͍ͣʜʜ