Cargo: `--no-default-features`๋Š” ์ข…์†์„ฑ์— ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2015๋…„ 08์›” 11์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: rust-lang/cargo

๊ธฐ๋ณธ ๊ธฐ๋Šฅ X ๊ฐ€ ์žˆ๋Š” crate A ์— ์˜์กดํ•˜๋Š” MyCrate ์—์„œ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ์ƒํ•ด ๋ณด์‹ญ์‹œ์˜ค.
--no-default-features MyCrate ๋ฅผ ์ปดํŒŒ์ผํ•˜๋ฉด $ X ๊ธฐ๋Šฅ์ด ํ™œ์„ฑํ™”๋œ ์ƒํƒœ๋กœ crate A ๊ฐ€ ๋นŒ๋“œ๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์„ฑ๊ฐ€์‹  ์ผ์ด์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์ด Cargo.toml์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[dependencies.A]
version = "*"
default-features = false

๊ทธ๋Ÿฌ๋‚˜ A ์ด ์ž์ฒด ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ๋‹ค๋ฅธ B ์ƒ์ž์— ์˜์กดํ•˜๋Š” ๊ฒฝ์šฐ ์ด ์†”๋ฃจ์…˜์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ B ์˜ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ด ๋ณด์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๊ฐ„์ ‘ ์ข…์†์„ฑ์˜ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

๋‚˜์˜ ํŠน๋ณ„ํ•œ ๋™๊ธฐ ๋ถ€์—ฌ ์‚ฌ๋ก€๋Š” libc๊ฐ€ ํ™”๋ฌผ์„ ํ†ตํ•ด ์‚ฌ์šฉ๋  ๋•Œ libstd์— ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์˜์กดํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@alexcrichton :
๊ทธ๋ ‡๋‹ค๋ฉด ์ตœ์ข… ์‚ฌ์šฉ์ž๊ฐ€ ์ผ๋ถ€ ์ค‘์ฒฉ ๊ธฐ๋Šฅ์„ ์„ ํƒ ํ•ด์ œํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ชจ๋“  ์ƒ์ž์— [dependencies.*] default-features = false ๊ฐ€ ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ๋‹ค์†Œ ๋‘”๊ฐํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

์ด๊ฒƒ์ด Cargo๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ ํฌ๋ ˆ์ดํŠธ ์ž์ฒด์˜ ์ข…์†์„ฑ์—์„œ ๊ธฐ๋Šฅ์„ ๋‹ค์‹œ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค. ์ข…์†์„ฑ์€ ๊ณต๊ฐœ ์ธํ„ฐํŽ˜์ด์Šค ๋Œ€์‹  ๋น„๊ณต๊ฐœ ๊ตฌํ˜„ ์„ธ๋ถ€ ์‚ฌํ•ญ์ด ๋˜๋„๋ก ์˜๋„๋˜์—ˆ์œผ๋ฉฐ ๊ธฐ๋Šฅ์„ ๋‚ด๋ณด๋‚ด๋ ค๋ฉด ๋ช…์‹œ์ ์œผ๋กœ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@alexcrichton :
๊ทธ๋ ‡๋‹ค๋ฉด ์ตœ์ข… ์‚ฌ์šฉ์ž๊ฐ€ ์ผ๋ถ€ ์ค‘์ฒฉ ๊ธฐ๋Šฅ์„ ์„ ํƒ ํ•ด์ œํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ชจ๋“  ์ƒ์ž์— [dependencies.*] default-features = false ๊ฐ€ ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ๋‹ค์†Œ ๋‘”๊ฐํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

๋„ค, ๊ทธ๋Ÿฐ ์˜๋„์ž…๋‹ˆ๋‹ค. default ๊ธฐ๋Šฅ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ๊ฑฐ์˜ ํ•ญ์ƒ ์ผœ์ ธ ์žˆ์Œ์„ ์˜๋ฏธํ•˜๋ฏ€๋กœ ๋ฐ˜๋“œ์‹œ ๋ชจ๋“  ์„ ํƒ์  ๊ธฐ๋Šฅ์„ ์œ„ํ•œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰