Composer: require-dev๋Š” composer.json์—์„œ require๋ฅผ ์žฌ์ •์˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2016๋…„ 02์›” 29์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: composer/composer

์•ˆ๋…•,
๋‚ด ๋กœ์ปฌ ํ™˜๊ฒฝ๊ณผ UAT ํ™˜๊ฒฝ์—์„œ require-dev๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ–ˆ์ง€๋งŒ "composer update"๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋งˆ๋‹ค require-dev ์žฌ์ •์˜ require ํŒจํ‚ค์ง€์— ์ผ๋ถ€ ํŒจํ‚ท์ด ์žˆ์œผ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
๋‹ค์Œ์€ ๋‚ด composer.json์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค.

... "require": {
        "php": ">=5.5.0",
        "wp/wordpress": "4.4.2",
        "wp/amazon-web-services": "0.2.2",
        "wp/members": "^1.0.2",
        "wp/nextgen-gallery-custom-fields": "^1.2.4",
        "wp/wpml-string-translation": "^2.2.6",
        "wp/sitepress-multilingual-cms": "^3.2.7",
        "wp/wpml-translation-management": "^2.0.5"
},
    "require-dev": {
        "wp/wp-functional-tests": "^1.0.0",
    "wp/sitepress-multilingual-cms": "dev-testing-3.3.6",
    "wp/wpml-string-translation": "dev-testing-2.3.6.1",
        "wp/wpml-translation-management": "dev-testing-2.1.5"
}, ...

์ž‘๊ณก๊ฐ€ ์—…๋ฐ์ดํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Updating wp/wpml-string-translation (2.3.2 => dev-testing-2.3.6.1 ddc3c6b)
    Checking out ddc3c6b3923fe47deda4d8d....

  - Updating wp/sitepress-multilingual-cms (3.3.1 => dev-testing-3.3.6 164cab6)
    Checking out 164cab6c3c756ba031c58a3....



  [Composer\DependencyResolver\SolverProblemsException]
    Problem 1
      - The requested package wp/wpml-string-translation ^2.2.6 could not be found.
    Problem 2
      - The requested package wp/sitepress-multilingual-cms ^3.2.7 could not be found.
    Problem 3
      - The requested package wp/wpml-translation-management ^2.0.5 could not be found.
  Potential causes:
   - A typo in the package name
   - The package is not available in a stable-enough version according to your minimum-stability setting
     see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.
  Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.

๋‚ด๊ฐ€ ๋ญ”๊ฐ€๋ฅผ ๋†“์น˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? require-dev๊ฐ€ require ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์žฌ์ •์˜ํ•ด์•ผ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ์•ˆ์ •์ ์ธ ๋ฒ„์ „์„ ์ฐพ์ง€ ๋ชปํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? (๋ฌผ๋ก  ๋‚ด๊ฐ€ require-dev๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ฐพ์•„๋ณด์„ธ์š”)

์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

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

๋”ฐ๋ผ์„œ ์ง€์†์  ํ†ตํ•ฉ์„ ์‚ฌ์šฉํ•˜๊ณ  stage์™€ prod์— ์•ˆ์ •์ ์ธ ๋ฒ„์ „์ด ํ•„์š”ํ•˜๊ณ  uat ๋ฐ dev์—์„œ ๋‹ค๋ฅธ ๋ฒ„์ „์„ ํ…Œ์ŠคํŠธํ•˜๋ ค๋Š” prod, stage, dev, uat์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ ํŒจํ‚ค์ง€๋ฅผ ๋นŒ๋“œํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ํ•ญ์ƒ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€๋ฅผ ๋‹จ๋…์œผ๋กœ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?
require/require-dev๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ผ์ข…์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค(์ง€์†์  ํ†ตํ•ฉ ์ปจํ…์ŠคํŠธ์—์„œ)

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

์•„๋‹ˆ์˜ค๋ฅผ ์žฌ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋‘˜์„ ๋ณ‘ํ•ฉํ•˜๋ฏ€๋กœ ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. require ๋ฐ require-dev ๋ชจ๋‘์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์€ ์‹ค์ œ๋กœ ์ง€์›๋˜๋Š” ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์•„๋‹ˆ๋ฉฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋งค์šฐ ๋†’์Šต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€๊ฐ€ ๊ฐœ๋ฐœ์—๋งŒ ํ•„์š”ํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ์„ ํƒํ•œ ๋‹ค์Œ ํ•œ ๋ฒˆ๋งŒ ๋‚˜์—ดํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ง€์†์  ํ†ตํ•ฉ์„ ์‚ฌ์šฉํ•˜๊ณ  stage์™€ prod์— ์•ˆ์ •์ ์ธ ๋ฒ„์ „์ด ํ•„์š”ํ•˜๊ณ  uat ๋ฐ dev์—์„œ ๋‹ค๋ฅธ ๋ฒ„์ „์„ ํ…Œ์ŠคํŠธํ•˜๋ ค๋Š” prod, stage, dev, uat์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ ํŒจํ‚ค์ง€๋ฅผ ๋นŒ๋“œํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ํ•ญ์ƒ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€๋ฅผ ๋‹จ๋…์œผ๋กœ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?
require/require-dev๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ผ์ข…์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค(์ง€์†์  ํ†ตํ•ฉ ์ปจํ…์ŠคํŠธ์—์„œ)

๋ฌธ์ œ๋Š” ๊ธฐ์ˆ ์ด ์•„๋‹ˆ๋ผ ์›Œํฌํ”Œ๋กœ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ๋‹จ๊ณ„๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋ถ„๊ธฐ ๊ธฐ๋ฐ˜ ์›Œํฌํ”Œ๋กœ๋ฅผ ์ฑ„ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ master ์—์„œ ๊ฐœ๋ฐœํ•˜๊ณ  $# 1.0.x ์™€ ๊ฐ™์€ ๋ฒ„์ „ ๋ถ„๊ธฐ์—์„œ ํ…Œ์ŠคํŠธํ•˜๊ณ  ํƒœ๊ทธ๋กœ ๋ฆด๋ฆฌ์Šคํ•ฉ๋‹ˆ๋‹ค. Git์€ ์ด์Šˆ ๋ธŒ๋žœ์น˜๋ฅผ master ์— ๋ณ‘ํ•ฉํ•˜๊ณ  ๋งˆ์Šคํ„ฐ์—์„œ ๋ฒ„์ „ ๋ธŒ๋žœ์น˜๋กœ ๋‹ค์‹œ ์ปค๋ฐ‹ํ•˜์—ฌ ์›Œํฌํ”Œ๋กœ๋ฅผ ์‰ฝ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. Travis์™€ ๊ฐ™์€ CI ๋„๊ตฌ๋Š” ์ง€์ •๋œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๋ชจ๋“  ๋ถ„๊ธฐ์™€ ์ƒˆ ํƒœ๊ทธ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋„๋ก ์ค€๋น„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์ปค๋ฐ‹๊ณผ ๋ถ„๊ธฐ์— ์„œ๋กœ ๋‹ค๋ฅธ ๋ฒ„์ „์˜ composer.json ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ฌธ์ œ๊ฐ€ ์ฆ‰์‹œ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ œ์•ˆ๋œ ๋ชจ๋“  ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋œ ๋ฐฐํฌ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด composer.json ์˜ ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ–๊ณ  ์‹ถ์€ ๋‚˜๋จธ์ง€ ๋“œ๋ฌธ ๊ฒฝ์šฐ์—๋Š” composer-with-suggests.json ์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ–๊ณ  composer-with-suggests.json ๋ฅผ COMPOSER ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. :

COMPOSER=composer-with-suggest.json composer install
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰