์๋
,
๋ด ๋ก์ปฌ ํ๊ฒฝ๊ณผ 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๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ์ฐพ์๋ณด์ธ์)
์ ๋ง ๊ฐ์ฌํฉ๋๋ค
์๋์ค๋ฅผ ์ฌ์ ์ํ๋ ๊ฒ์ด ์๋๋ผ ๋์ ๋ณํฉํ๋ฏ๋ก ์ผ์นํ์ง ์์ผ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. 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
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ฐ๋ผ์ ์ง์์ ํตํฉ์ ์ฌ์ฉํ๊ณ stage์ prod์ ์์ ์ ์ธ ๋ฒ์ ์ด ํ์ํ๊ณ uat ๋ฐ dev์์ ๋ค๋ฅธ ๋ฒ์ ์ ํ ์คํธํ๋ ค๋ prod, stage, dev, uat์ ๊ฐ์ ๋ค๋ฅธ ํ๊ฒฝ์์ ํจํค์ง๋ฅผ ๋น๋ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น? ํญ์ ๋ค๋ฅธ ํจํค์ง๋ฅผ ๋จ๋ ์ผ๋ก ์ํํด์ผ ํฉ๋๊น?
require/require-dev๋ฅผ ์ฌ์ฉํ์ฌ ์ผ์ข ์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค(์ง์์ ํตํฉ ์ปจํ ์คํธ์์)