Partkeepr: ์˜ˆ์™ธ: ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜ partkeepr.parts.internalpartnumberunique์— ๋Œ€ํ•œ ์ข…์†์„ฑ

์— ๋งŒ๋“  2016๋…„ 08์›” 21์ผ  ยท  18์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: partkeepr/PartKeepr

Commit 098acfe00d09246648ad61bca7b9dd389ccb3de3(์ด ๊ธ€์„ ์“ฐ๋Š” ์‹œ์ ์—์„œ ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ๊ฒƒ)์ด ๋‚ด ์„ค์น˜๋ฅผ ๋ง์นœ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์›น ์„œ๋ฒ„ ๋กœ๊ทธ์— ๋‹ค์Œ ์˜ˆ์™ธ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

[Sun Aug 21 07:43:56.792971 2016] [:error] [pid 15812] [client 2001:xxxxxxxxxxxx] PHP ์น˜๋ช…์ ์ธ ์˜ค๋ฅ˜: ์žกํžˆ์ง€ ์•Š์€ SymfonyComponentDependencyInjectionExceptionParameterNotFoundException: "partkeepr.part_service" ์„œ๋น„์Šค์— "part-keepr.part_service" ์„œ๋น„์Šค๊ฐ€ non-partkeeprexist ๋งค๊ฐœ๋ณ€์ˆ˜์— ์ข…์†๋ฉ๋‹ˆ๋‹ค. .parts.internalpartnumber๊ณ ์œ ". /usr/local/share/PartKeepr/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php:94nStack ์ถ”์ :n#0 /usr/local/share/PartKeepr/vendor/symfony/symfony /src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php(214): SymfonyComponentDependencyInjectionParameterBagParameterBag->get('partkeepr.parts...')n#1 /usr/local/share/PartKeepr/vendor/symfony/symfony/ src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php(185): SymfonyComponentDependencyInjectionParameterBagParameterBag->resolveString('%partkeepr.part...', Array)n#2 /usr/local/share/PartKeepr/vendor/symfony/ symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php(175): SymfonyComponentDependencyInjectionParameterBagParameterBag->resolveValue('% in /usr/local/share/PartKeepr/vendor/symfony/symfony/src/Symfony/Component/ 94ํ–‰์˜ ParameterBag/ParameterBag.php

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

https://wiki.partkeepr.org/wiki/Running_PartKeepr_from_GIT์— ๋”ฐ๋ผ ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ•ญ์ƒ ๋ณต์‚ฌ

์‹ค์ œ๋กœ ์ด ์—…๊ทธ๋ ˆ์ด๋“œ ์ ˆ์ฐจ๋ฅผ ๋”ฐ๋ž์ง€๋งŒ ์˜ค๋ฅ˜๊ฐ€ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์—ด์–ด์ฃผ์„ธ์š”.

๋ฐฉ๊ธˆ ๋ฌธ์ œ๋ฅผ ์ฐพ์•„ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. git์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์‹ญ์‹œ์˜ค. ๋ฌธ์ œ์— ํ•„์š”ํ•œ ๋ชจ๋“  ์ •๋ณด(์˜ˆ: ์ ˆ์ฐจ๋ฅผ ๋”ฐ๋ž์Œ)๋ฅผ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค. ์‚ฌ๋žŒ๋“ค์ด GIT๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ๋•Œ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.)

ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค. ์—…๊ทธ๋ ˆ์ด๋“œ ์ ˆ์ฐจ๋ฅผ ๋”ฐ๋ž๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊ธฐ์–ตํ•˜์ง€ ๋ชปํ•ด์„œ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜๋ฅผ ๋‹ค์‹œ ์ฒดํฌ์•„์›ƒ ํ•˜๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ, ์ด๋Ÿฐ ์งˆ๋ฌธ์„ ํ•˜๋‹ค๋‹ˆ ์ข€ ๋ฐ”๋ณด๊ฐ™๊ธฐ๋„ ํ•œ๋ฐ ํ˜„์žฌ ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์ด ๋ญ์˜€๋”๋ผ? ("HEAD"์ธ ๊ฒฝ์šฐ ์ˆ˜์ • ์‚ฌํ•ญ์ด ์ž‘๋™ํ•˜์ง€๋งŒ ์ด๊ฒƒ์ด ์˜ฌ๋ฐ”๋ฅธ ๋ถ„๊ธฐ์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)

git checkout master ์ž…๋‹ˆ๋‹ค ;)

ํ ,์ด ๊ฒฝ์šฐ ์˜ค๋ฅ˜๊ฐ€ ์ง€์†๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด์ „๊ณผ ๋˜‘๊ฐ™์€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๋™์•ˆ ์ž‘์„ฑ๊ธฐ์—์„œ ์˜ค๋ฅ˜ ๋ณด๊ณ ์„œ๋ฅผ ๋ฐ›์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒŒ ์˜๋ฏธ๊ฐ€ ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ตœ๊ทผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ app/check.php ๋ฐ app/SymfonyRequirements.php์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ๋ฟ์ธ ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉฐ git ๋กœ๊ทธ์—๋Š” ChangeLog๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์—ˆ๋‹ค๋Š” ๋‚ด์šฉ๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— ์žˆ๋Š” ๋™์•ˆ git pull์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์„ค์ •์„ ๋‹ค์‹œ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๊นŒ?

git์—์„œ ๋ญ”๊ฐ€ ๋งค์šฐ ์ด์ƒํ•ฉ๋‹ˆ๋‹ค. ํ™•์ธํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ๊ฒŒ ๋˜๋ฉด ์•Œ๋ ค ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ˆ; ์ €๋Š” master ๋ธŒ๋žœ์น˜์—์„œ ๊ฐ€์žฅ ์ตœ๊ทผ์— ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.

$ ์ž์‹ ๋ถ„๊ธฐ

  • ์ฃผ์ธ
    $ ์ž์‹ ํ’€
    ์ด๋ฏธ ์ตœ์‹  ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

์—…๊ทธ๋ ˆ์ด๋“œ ์ ˆ์ฐจ์˜ "์ž‘์„ฑ๊ธฐ ์„ค์น˜" ์„น์…˜์„ ์‹คํ–‰ํ•  ๋•Œ check.php ๋ฐ SymfonyRequirements.php๊ฐ€ ์‹ค์ œ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋Š” ๊ฒƒ ๊ฐ™์œผ๋ฏ€๋กœ ๋ฌด์—‡์ด ์—…๋ฐ์ดํŠธ๋˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. github ์ปค๋ฐ‹ ๋กœ๊ทธ๋ฅผ ๋ณด๋ฉด 3์ผ ์ „๋ถ€ํ„ฐ ๋ณ€๊ฒฝ ๋กœ๊ทธ๋งŒ ์ปค๋ฐ‹๋˜๊ณ  ํ‘ธ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ดํ‹€ ์ „์— ์˜ค๋ฅ˜๋ฅผ ๋ณด๊ณ ํ–ˆ๋Š”๋ฐ ์‹ค์ˆ˜๋กœ ์ˆ˜์ • โ€‹โ€‹์‚ฌํ•ญ์„ ๋งˆ์Šคํ„ฐ ๋˜๋Š” ๊ธฐํƒ€๋กœ ๋ณ‘ํ•ฉํ•˜์ง€ ์•Š์•˜์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ธ€์Ž„, ๋‚˜๋Š” ์‹ค์ œ๋กœ ์ปค๋ฐ‹ ์ž์ฒด๋ฅผ ํ‘ธ์‹œํ•˜์ง€ ์•Š๊ณ  ์ƒˆ ๋ฒ„์ „์˜ ํƒœ๊ทธ๋งŒ ํ‘ธ์‹œํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ปค๋ฐ‹์„ ํ‘ธ์‹œํ•œ ํ›„ ์ด์ œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค

์ด์™€ ๊ฐ™์€ Git ๊ธ€๋ฆฌ์น˜๋Š” ๊ฐ€๋” ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. :)

์•„์•„, ๋‹น์‹ ์˜ ๋…ธ๋ ฅ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์˜ค๋ฅ˜๋Š” ์—ฌ์ „ํžˆ ๋‚ด ์ชฝ์—์„œ ์žˆ์Šต๋‹ˆ๋‹ค (๋ฌผ๋ก  git pull ๋ฐ ์—…๋ฐ์ดํŠธ ํ›„).

cat src/PartKeepr/SetupBundle/Services/ConfigSetupService.php |grep -i internalpart ์˜ ์ถœ๋ ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ฌผ๋ก ์ด์•ผ:

$ cat src/PartKeepr/SetupBundle/Services/ConfigSetupService.php |grep -i internalpart
            'partkeepr.parts.internalpartnumberunique' => false,

์ข‹์•„, ๊ดœ์ฐฎ์•„. ์–ธ๊ธ‰๋œ ์˜ค๋ฅ˜๋Š” ์ •ํ™•ํžˆ ์–ธ์ œ ์ˆ˜์‹ ๋ฉ๋‹ˆ๊นŒ?

๊ทธ๊ฒƒ์€ ๋งํ•˜๊ธฐ๊ฐ€ ์กฐ๊ธˆ ์–ด๋ ต์ง€๋งŒ ๋กœ๊ทธ์ธ ํ”„๋กฌํ”„ํŠธ์— ๋„๋‹ฌํ•˜์ง€๋„ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. Apache๋Š” 500 ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ํญํƒ„์„ ํ„ฐ๋œจ๋ฆฌ๊ณ  ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€(๋‹ค๋ฅธ ๋ฉ”์‹œ์ง€ ์—†์Œ)๊ฐ€ ์˜ค๋ฅ˜ ๋กœ๊ทธ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์„ค์ • ์ค‘์—๋Š” ์ž‘๋™ํ•˜์ง€๋งŒ ์›น ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ์—ฐ ํ›„์—๋Š” ์‹คํŒจํ•ฉ๋‹ˆ๊นŒ?

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์›น ์„ค์ • ์‹คํ–‰์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ–ˆ์„ ๋•Œ "์ด๋Ÿฐ, ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค..."๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ์„ค์ • ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜๊ณ  ์ž‘๊ณก๊ฐ€ ์—…๋ฐ์ดํŠธ๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋ฟ์ด๋ฉฐ ์„ค์ • ํŽ˜์ด์ง€๋Š” ์‹คํ–‰ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. (๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์œ„ํ•œ bash ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์–ป์€ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฏ€๋กœ ์ด์ œ ์Šคํฌ๋ฆฝํŠธ์— ์„ค์ •์„ ์‹คํ–‰ํ•˜๋„๋ก ์ƒ๊ธฐ์‹œํ‚ค๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.)

์–ด์จŒ๋“  ์ง€๊ธˆ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์‹ ์†ํ•œ ์ˆ˜์ •๊ณผ ๋„์›€์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

๋„ˆ๋ฌด ๊ธฐ์ฉ๋‹ˆ๋‹ค :) ํ”ผ๋“œ๋ฐฑ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

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