๊ธฐ๋ฅ ์ ์์ฒญํ๊ฑฐ๋ ๋ฒ๊ทธ๋ฅผ๋ณด๊ณ ํ์๊ฒ ์ต๋๊น?
yarn install
๋ฅผ ์คํํ์ฌ ๋
ธ๋ ์ข
์์ฑ์ ์ค์นํ ๋ ๋ฒ๊ทธ๋ฅผ๋ณด๊ณ ํฉ๋๋ค. ์ฌ๊ฐ์ฑ์ ์ํด์ด ๋ฒ๊ทธ๋ ๋ณธ์ง์ ์ผ๋ก ๋
ธ๋ ์ข
์์ฑ์ ํ๋ํ๋ ๊ฒ์ ๋ฐฉํดํ๋ค๋ ์ ์์ ์ค์ํด ๋ณด์
๋๋ค.
ํ์ฌ ํ๋์ ๋ฌด์์
๋๊น?
๋๋๋ก ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ฌ ์คํจํฉ๋๋ค.
yarn install v1.9.4
[1/4] Resolving packages...
[2/4] Fetching packages...
[1/4] Resolving packages...
[2/4] Fetching packages...
[1/4] Resolving packages...
[2/4] Fetching packages...
error https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "ENOENT: no such file or directory, chmod '/usr/local/share/.cache/yarn/v2/npm-lodash-4.17.10-1b7793cf7259ea38fb3661d4d38b3260af8ae4e7/_cacheHas.js'"
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
yarn install v1.9.4
[1/4] Resolving packages...
[2/4] Fetching packages...
[1/4] Resolving packages...
[2/4] Fetching packages...
[1/4] Resolving packages...
[2/4] Fetching packages...
error https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "EEXIST: file already exists, mkdir '/usr/local/share/.cache/yarn/v2/npm-lodash-4.17.10-1b7793cf7259ea38fb3661d4d38b3260af8ae4e7'"
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
yarn install v1.9.4
[1/4] Resolving packages...
[2/4] Fetching packages...
[1/4] Resolving packages...
[2/4] Fetching packages...
[1/4] Resolving packages...
[2/4] Fetching packages...
error https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "ENOENT: no such file or directory, chmod '/usr/local/share/.cache/yarn/v2/npm-fbjs-0.8.17-c4d598ead6949112653d6588b01a5cdcd9f90fdd/lib/resolveImmediate.js'"
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command
์ด ์ค๋ฅ์ ๋ฐ์์ ์ด๋ ค์ด ๋ถ๋ถ์ ๋๋ค. ํญ์ ์คํจํ๋ ๊ฒ์ ์๋๋ฉฐ ๋์ผํ ์ข ์์ฑ์ผ๋ก ํญ์ ์คํจํ๋ ๊ฒ์ ์๋๋๋ค. 3-5 ๋ฒ์ ์๋ ํ์ ์ค์น๊ฐ ์ฑ๊ณตํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
ํ์ฌ ๋์์ด ๋ฒ๊ทธ ์ธ ๊ฒฝ์ฐ ์ฌํ ๋จ๊ณ๋ฅผ ์ ๊ณตํ์ญ์์ค.
๋ฒ ์ด ๋ฉํ ๋ฐ node:8-alpine
๋์ปค ์ปจํ
์ด๋์ ์ข
์์ฑ์ ์ค์นํ๋ ค๊ณ ์๋ํ์ต๋๋ค. ๋ ๋ค ๋๋๋ก ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์บ๋๋ค ๋ชฌํธ๋ฆฌ์ฌ์ ๊ฐ์ธ ๋๋ฐ์ด์ค (Mac OS X10.13), AWS EC2 ์ธ์คํด์ค (Ubuntu 18.04), GCE ์ธ์คํด์ค (Ubuntu 16.04) ๋ฐ ํ๋์ค์ ํ๋ก๋์
์๋ฒ (Debian 8)์์์ด๋ฅผ ํ
์คํธํ์ต๋๋ค. . ๊ทธ๋ค ๊ฐ๊ฐ์ ๋๋๋ก์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ๋๋ ๋ํ yarn.lock
์ ๋ฌด์ ๊ด๊ณ์์ด ์ค์น๋ฅผ ์๋ํ์ต๋๋ค. ๋๋๋ก์ด ์์ ์์ ๋ฌธ์ package.json
๋ฅผ ์ฐพ์ต๋๋ค. ์ข
์์ฑ์ด ์ ์ ํ๋ก์ ํธ์์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์์๋๋ ๋์์ ๋ฌด์์
๋๊น?
npm install
๋๋ npm ci
์ ๊ฐ์ด tar ๋๋ ์บ์ฑ ์ค๋ฅ์์ด ๊ฒฐ์ ์ ์ผ๋ก ์ฑ๊ณตํ ๋ชจ๋ ํจํค์ง์ ์ฑ๊ณต์ ์ธ ์ค์น.
node.js, yarn ๋ฐ ์ด์ ์ฒด์ ๋ฒ์ ์ ์ธ๊ธํ์ญ์์ค.
๋ค์ ๋ฒ์ ์ผ๋ก ํ
์คํธ๋์์ต๋๋ค.
๋
ธ๋ : 8 LTS, 10
์์ฌ : 1.9.2, 1.9.4
์ด์์ฒด์ : Ubuntu 18.04 LTS, Ubuntu 16.04 LTS, Debian 8, Mac OSX 10.13
๋ ์ง์คํธ๋ฆฌ : registry.yarnpkg.com
, registry.npmjs.org
, ๊ฐ์ธ ๋ ์ง์คํธ๋ฆฌ
์ถ๊ฐ ์ ๋ณด๊ฐ ํ์ํ๋ฉด ์ฃผ์ ํ์ง ๋ง๊ณ ์์ฒญํ์ญ์์ค. FWIW, ๋คํธ์ํฌ ๋์์ฑ์ ์ค์ด๋ฉด ์ฑ๊ณต๋ฅ ์ด ์ฝ๊ฐ ๋ ๋์์ง๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ์ค๋ฅ๊ฐ ๊ด๋ จ๋์ด ์๋ค๋ ๊ฒฐ๋ก ์ ๋ด๋ฆด๋งํผ ์ผ๊ด ์ ์ด ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์กฐ์ฌ ํ ์์ญ ์ผ ์ ์์ต๋๋ค. ์ํ๊น๊ฒ๋ ๋ฉฐ์น ๋์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ ํ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ์๊ฐ์ ํ ์ ํ์ต๋๋ค. ๋๋ ๋ง์ง ๋ชปํด ์ฐ๋ฆฌ์ ๋ชจ๋ CI ๋น๋๋ฅผ npm install
/ npm ci
๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ๋ง์ด๊ทธ๋ ์ด์
ํด์ผํ์ต๋๋ค :(
๊ฐ์ ๋ฌธ์ , ๋ด CI๋ ์ฐจ๋จํ๊ณ ์์ผ๋ฉฐ ์ต๊ทผ์ 1.9.2๋ก ์ ๋ฐ์ดํธํ์ต๋๋ค.
@opiation ์ค๋ฅ๋ ์ค์ ๋ก ๋ฌด์์์ด์ง๋ง ์์ธ์ ์ฐพ์์ ์ ์์ต๋๋ค. ๋ง์ง๋ง์ .git
์์ด package.json์ ๋จผ git URL์ด ์์ต๋๊น? ๊ทธ์ค ๋ ๊ฐ๊ฐ ์์๊ณ .git
์ถ๊ฐํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค. ์ค๋ฅ ๋ฉ์์ง์ ์ด๊ฒ์ด ๋ฌธ์ ๋ผ๊ณ ์ง์ ํ์ํ์ง ์๋ ์ด์ ๊ฐ ํ์คํ์ง ์์ต๋๋ค.
๋ํ ๊ด๋ จ์ด์์ ์ ์์ต๋๋ค : https://github.com/yarnpkg/yarn/issues/5536
@adrienharnay , ์ฌ๊ธฐ์ ๋ด๊ฐ ์ฌ์ฉํ package.json
์์ต๋๋ค. github ์ข
์์ฑ์ด ํ๋ ๋ฟ์ด๋ฉฐ ๊ทธ๊ฒ ์์ด๋ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ทํ์ ์ ์์ ์คํดํ์ง ์๋ ํ .git
๋ฅผ ์์์ด ์๋ ์ข
์์ฑ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋จผ ๋จ์ด๋ ์ณ์ง ์์์ต๋๋ค. Git์์ ์ค์น๋ ํจํค์ง๋ฅผ ์๋ฏธํ์ต๋๋ค ๐
์ด๊ฒ์ ์๋ํด ๋ณผ ์ ์์ต๋๊น?
"storybook-addon-markdown": "https://github.com/mihalik/storybook-addon-markdown.git"
์ด์ ์๊ฒฌ์ ๋ฐ๋ผ storybook-addon-markdown
์ข
์์ฑ์์ด ์ฌ์ ํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ฐ๋ผ์์ด ๋ฌธ์ ๊ฐ git URL์ ๋ถ์ ์ ํ๊ฒ ์ฒ๋ฆฌํ๋ yarn์์ ๋น๋กฏ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ง ์์ต๋๋ค.
์ฌ์ค ์ ๋ ๋๋ฌด ๋นจ๋ฆฌ ์ฝ์์ต๋๋ค. ๊ธ์, ์ฐ๋ฆฌ ๋ฒ๊ทธ๊ฐ ์์ ๋์์ง๋ง ๋น์ ์ ๋ฒ๊ทธ์ ๋ํด ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค ๐ ์ฃ์กํฉ๋๋ค
@opiation yarn.lock ํ์ผ๋ ์ ๋ฐ์ดํธ ํ์ต๋๊น? ๋ด๊ฐํด์ผํ๊ธฐ ๋๋ฌธ์
@Titozzz , yarn.lock
ํ์ผ ์ ๋ฌด์ ๊ด๊ณ์์ด์ด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ ๊ธ ํ์ผ์ ์ฌ๋ฌ ๋ฒ ์ญ์ ํ๊ณ ๋ค์ ๋ง๋ค์์ต๋๋ค.
๋๋ ์ด๊ฒ์ ์ป์๊ณ git์ ํจํค์ง๊ฐ ์์ต๋๋ค.
ํจํค์ง์ tarball ๋ฒ์ ์ ์ฌ์ฉํ์ฌ์ด ๋ฌธ์ (https://github.com/yarnpkg/yarn/issues/6256)๋ฅผ ํด๊ฒฐํ๊ณ ์ถ์์ง๋ง ์ค์ ๋ก ์์ฒด ํธ์คํ Github ์ํฐํ๋ผ์ด์ฆ์ tarball URL์ ๋ํด ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
github.com ํธ์คํ
tarball์ ์ด๋ป๊ฒ ๋ ์๋ํ์ต๋๋ค. ์
https://github.com/luwes/chameleon/archive/grasshopper-v0.0.1-beta.4.tar.gz
์ฐ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์๋ ํ๋ก์ ํธ์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ค์น์ ์ผ๋ถ๋ก prepare
์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ deps๋ฅผ ์ ๊ฑฐํ๋ฉด (git URL์ด๊ธฐ ๋๋ฌธ์) ์๋ํฉ๋๋ค. ์ด๋ค์ git url์ ๊ฐ๋ฆฌํค๊ณ ์์ง๋ง ์ค์ ๋ก๋ ์ด๋ค ์ด์ ๋ก ๋ฎคํ
์ค ํ๋๊ทธ๋ฅผ ๋ค์ง๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ๋ ๋ง์ yarn install
ํ๋ก์ธ์ค๋ฅผ ์์ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ prepare
๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ๋ฃจํธ ํ๋ก์ธ์ค๊ฐ ์๋ ๋ฃจํธ ํ๋ก์ธ์ค์ ์ํด ์์๋๊ธฐ ๋๋ฌธ์ธ์ง ๊ถ๊ธํฉ๋๋ค. ์ด ์ ๋ณด๊ฐ ๋์์ด๋๋์ง ์๋๋ฉด ์ค์ ๋ก๋ ๊ทผ๊ฑฐ๊ฐ ์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ๋ด๊ฐ ์ฐพ์ ๊ฒ์ ์๊ด์์ด ๊ณต์ ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค.
@khendry ๋ค์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ง์ต๋๋ค. package.json์ prepare
์คํฌ๋ฆฝํธ๊ฐ์๋ git ์ข
์์ฑ์์ ๋น๋กฏ๋ฉ๋๋ค! : +1 :
๋๋ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์๋ ํ๋ก์ ํธ๋ก ์ด๊ฒ์ ์ถ์ ํด ์์ผ๋ฉฐ ์ง๊ธ๊น์ง git-fetcher๊ฐ ์ฌ๊ธฐ์์ ์์ํ๋ ๋์ ์ค์น๋ก ๋ฒ์๋ฅผ ์ขํ์ต๋๋ค. git-fetcher์ ์ํด ์ค์น๋๋ ํจํค์ง์ ํ์ฌ ์ค์น์ค์ธ ํจํค์ง์ ๋์ผํ ์ข ์์ฑ์ด์๋ ๊ฒฝ์ฐ ์ค๋ณต ๋ ํจํค์ง๊ฐ ๋์์ ์คํ๋ผ์ธ ์บ์๋ก ์์ถ ํด์ ๋๋ ๊ฒฝ์ ์กฐ๊ฑด์ด ์์ฑ๋ฉ๋๋ค.
์ฌ๋ฐ๋ฅธ ์์ ์ด ์ด๋์ / ๋ฌด์์ธ์ง ์ดํดํ๊ธฐ์ ์ถฉ๋ถํ ์ฝ๋ ๊ธฐ๋ฐ์ ๋ณด์ง ๋ชปํ์ง๋ง ์ด๊ฒ์ด ๋ฌธ์ ์ ์์์ ๋๋ค.
์ด๊ฒ์ ๋ํ ์์์ด ์์ต๋๊น? ์ฐ๋ฆฌ๋์ด ๋ฌธ์ ์ ์ง๋ฉด ํด ์์ต๋๋ค.
๊ฐ์ ๋ฌธ์ ์ ๋๋ค. CI๋ก ์์ฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ์ด ์ค๋ฅ๋ก ์ธํด ๋ ๋ฒ์งธ ๋น๋๊ฐ ์คํจํ์ต๋๋ค ๐
node_modules๋ฅผ ์ญ์ ํ์ญ์์ค.
yarn cache clean
yarn install --network-concurrency 1
๊ณต์ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ ์ด๋ ํด๊ฒฐ ๋ฐฉ๋ฒ ๐ค์ด์ง๋ง ๋น๋ ์๊ฐ์ ํฉ๋ฆฌ์ ์ผ๋ก ๋นจ๋ฆฌ ์ํ๋ค๋ฉด ์ค์ ํด๊ฒฐ์ฑ ์ ์์ต๋๋ค ๐
--network-concurrency
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ์๋ํ์ง๋ง ์ฑ๊ณตํ์ง ๋ชปํ์ต๋๋ค. ๋ฐ๋ผ์ ์ค์ ๋ก์ด ํน์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง๋ ์์ต๋๋ค. ํ๋๊ทธ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์์น๋ณด๋ค ๋์ ์์ค์์ ๋์์ฑ์ ํด๊ฒฐํฉ๋๋ค.
๋๋ฅผ ์ํด --network-concurrency 1
๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ๋๋ ๊ทธ๊ฒ์ด ์ผ์์ ์ธ ์์ ์ด๋ผ๋ ๊ฒ์ ์๊ณ ์์ง๋ง ์๋ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ฐ์ ์ ํํ 1
์ฌ์ผํฉ๋๋ค.
๋๋ฌด ๋นจ๋ฆฌ ๋ง ํ์ด์. ๋๋ ํ ๋๋ฃ์๊ฒ ์ค์ ๋ก ์๋ํ๋ ๊ฒ๋ณด๋ค ์ด๊ฒ์ ์๋ํด ๋ณด์๋์ง ๋ฌผ์๊ณ ๊ทธ๋ ์ฐ๋ฆฌ๊ฐ _ ๋งค์ฐ _ ํ์ ํ์ต๋๋ค. ๋์์ฑ. ์ฐ๋ฆฌ๋ ์ดํ ๋ค์ ์๋ํ์ผ๋ฉฐ ์ด๊ฒ์ด ์ฐ๋ฆฌ์๊ฒ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ ๊ฐ๋ค๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
--network-concurrency 1
์ด ์ค์ ๋ก ์๋ํ์ง ์์ต๋๋ค.
์ง๊ธ๊น์ง ๋ง๋ ์ ์ผํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ yarn.lock
์์ ํ ์ฌ์์ฑํ๋ ๊ฒ์
๋๋ค. ๋ด๊ฐ ์ป๋ ์ค๋ฅ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
2.054 Performing "GET" request to "https://<private-artifactory-npm-registry>/@myorg/eslint-plugin-import/-/@myorg/eslint-plugin-import-3.0.0.tgz".
verbose 2.519 Error: https://<private-artifactory-npm-registry>/@myorg/eslint-plugin-import/-/@myorg/eslint-plugin-import-3.0.0.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "Unexpected end of data"
at MessageError.ExtendableBuiltin (/Users/me/.nvm/versions/node/v8.12.0/lib/node_modules/yarn/lib/cli.js:237:66)
at new MessageError (/Users/me/.nvm/versions/node/v8.12.0/lib/node_modules/yarn/lib/cli.js:266:123)
at Extract.<anonymous> (/Users/me/.nvm/versions/node/v8.12.0/lib/node_modules/yarn/lib/cli.js:59446:14)
at emitOne (events.js:121:20)
at Extract.emit (events.js:211:7)
at Extract.module.exports.Extract.destroy (/Users/me/.nvm/versions/node/v8.12.0/lib/node_modules/yarn/lib/cli.js:135306:17)
at Extract.module.exports.Extract._final (/Users/me/.nvm/versions/node/v8.12.0/lib/node_modules/yarn/lib/cli.js:135364:34)
at callFinal (/Users/me/.nvm/versions/node/v8.12.0/lib/node_modules/yarn/lib/cli.js:70270:10)
at _combinedTickCallback (internal/process/next_tick.js:139:11)
at process._tickCallback (internal/process/next_tick.js:181:9)
์
๋ฐ์ดํธ : ๋ฐฉ๊ธ --skip-integrity-check
์ฌ์ฉํ๋ฉด์ด ์ค๋ฅ๋ฅผ ์ฐํ ํ ์ ์๋ค๋ ๊ฒ์ ์๊ฒ๋์์ต๋๋ค. ๋ถ๋ช
ํ ๊ทธ๊ฒ์ ์ ๋ง๋ก ํด๊ฒฐ์ฑ
์
๋๋ค. ์ด๊ฒ์ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ ๋ก์ง์ ์ค์ํ ๋ฒ๊ทธ์ฒ๋ผ ๋ณด์
๋๋ค.
@arcanis @ rally25rs ์ด ์ค๋ฅ์ ๋ํ ์์ธํ ๋ด์ฉ :
๋ฐ๋ผ์ sha1์ด ๋์ผํ๋ค๋ ์ ์ ๊ณ ๋ คํ ๋ ๋ฌด๊ฒฐ์ฑ ์ฒดํฌ์ฌ์ ์คํจํ๋ค๋ ๊ฒ์ด ๋์๊ฒ ๊ฝค ์ด์ํ๊ฒ ๋ณด์ ๋๋ค.
Error: sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= integrity checksum failed when using sha1: wanted sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= but got sha1-AHoWKXweP+Pg9aZkGBsAjFruGaM=. (77 bytes)
at Transform.on (/Users/shargrove/.nvm/versions/node/v8.12.0/lib/node_modules/yarn/lib/cli.js:32831:19)
at emitNone (events.js:111:20)
at Transform.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:139:11)
at process._tickCallback (internal/process/next_tick.js:181:9)
์
๋ฐ์ดํธ : ์ ๋ด์ฉ์ ํ์ธํ ํ --skip-integrity-check
๊ฐ์ด ์ค๋ฅ๋ฅผ ์ฐํํ๋ ๊ฒ์ ํ์ธํ์ต๋๋ค. ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ ๋
ผ๋ฆฌ์์ ๋ ์ฌ๊ฐํ ๋ฒ๊ทธ์ฒ๋ผ ๋ณด์
๋๋ค.
ํธ๊ธฐ์ฌ์์ @opiation , package.json์ ๋ถ์ฌ ๋ฃ์ ์ ์์ต๋๊น? ์ด๋์์๋ ๋ค์ "์ฌ์ ์"๊ธฐ์ ์ ์ฌ์ฉํ๊ณ ์์ต๋๊น?
"dependencies": {
"foo": "npm:@myorg/foo"
}
์๋ฅผ ๋ค์ด, ๋๋ ๊ทธ๊ฒ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
"eslint-plugin-import": "npm:@myorg/eslint-plugin-import",
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ์ ๊ฐ ์ค๋ฅ ๋ฅผ ๋ณธ ํจํค์ง์ ๋๋ค.์ด๊ฒ ๊ด๋ จ์ด ์๋์ง ๊ถ๊ธํฉ๋๋ค.
@hulkish , ๋ด ์ด๊ธฐ ๊ฒ์๋ฌผ์ ๋ฐ๋ผ package.json
, yarn.lock
๋ฐ ๋ด๊ฐ ์คํ ํ ๋ชจ๋ ํ
์คํธ์์ ์ค๋ช
๋ ์ค๋ฅ๋ฅผ ์์ฑ ํ ๋ชจ๋ ํ
์คํธ๋ก ๋ง๋ ์์ yarn.lock
๊ณผ ๊ฐ์ต๋๋ค. ๋ช
ํํํ๊ธฐ ์ํด failing_test.sh
๊ฐ ์ค์์์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ง๋ง ์ผ๊ด์ฑ์ด ์์ต๋๋ค. ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ค๋ฉด ๋ ๋ฒ ์ด์ ์๋ํด์ผ ํ ์ ์์ต๋๋ค. ์ด ์ค๋ ๋์ ํฌํจ์ํค๊ธฐ ์ํด ์๋์ ๊ฐ ํ
์คํธ๋ฅผ ์์ฝํ๊ฒ ์ต๋๋ค.
yarn install
yarn install --frozen-lockfile
yarn install --pure-lockfile
yarn install --mutex network
yarn install --network-concurrency 1
rm yarn.lock
์ฌ์ ์ ์ฌ์ฉํ ์์ ๋ชจ๋ ํ
์คํธgit
์ค์น๋ node:alpine
์ปจํ
์ด๋์์ ์์ ๋ชจ๋ ํ
์คํธ (์ด ์ค๋ ๋๊ฐ ์์ฑ ๋ ์์ ์ ์ํ์ธ)git
์ค์น๋ node:8-alpine
์ปจํ
์ด๋์์ ์์ ๋ชจ๋ ํ
์คํธ"๋ฌด์"๊ธฐ์ ์ ๊ดํด์๋ ๋ฌด์จ ๋ป์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ข
์์ฑ ๊ฐ์์ _protocol_-like ์ ๋์ฌ (์ npm:
)๋ฅผ ์ฐธ์กฐํ๋ ๊ฒฝ์ฐ ์, ํ๋์ dev ์ข
์์ฑ์ github
ํจํค์ง๋ฅผ ์ฌ์ฉํฉ๋๋ค.
"storybook-addon-markdown": "github:mihalik/storybook-addon-markdown"
๊ทธ๋ฌ๋ ๊ฐ๋ฐ์ ์ข ์์ฑ์ ์ ๊ฑฐํ๋๋ผ๋ ์ค๋ฅ๊ฐ ๊ณ์ ๋ฐ์ํ๋ฏ๋ก ๊ด๋ จ์ด์๋ ๊ฒ ๊ฐ์ต๋๋ค.
@holyxiaoxin ์๊ฒ --network-concurrency 1
์ถ๊ฐํ๋ฉด ๋ด CI๊ฐ ํด๊ฒฐ๋์์ต๋๋ค ๐
ํ @imsnif ? @hulkish ์ ์๊ฒฌ์ ๋ฐ๋ผ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ์ ๊ด๋ จ๋ ๊ฒ ๊ฐ์ต๋๋ค.
@khendry git ์ข ์์ฑ์ ๋ ์ด์ ์ค๋น๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด CI์ ๋ํ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ง๋ง --network-concurrency 1, --child-concurrency 1 ๋ฐ --skip-integrity-check๋ก๋ ์ถฉ๋ถํ์ง ์์์ต๋๋ค.
npm config set always-auth true
( ์ฌ๊ธฐ์ ์ค๋ช
๋๋๋ก )๋ก์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์์์์ต๋๋ค. ๋ด๊ฐ ์๋ ํ, npm์ ๊ธฐ๋ณธ์ ์ผ๋ก ํจํค์ง๋ฅผ ๊ฐ์ ธ ์ค๋ ๊ฒ์ด ์๋๋ผ ๊ฒ์ ํ ๋๋ง ์๊ฒฉ ์ฆ๋ช
์ ์ ๊ณตํฉ๋๋ค. ์ด๋ค ์ด์ ๋ก ์ ์ฌ๋ ์ด์ ์ ๊ทธ ์ค์ ์ ์กด์คํ์ง ์์์ง๋ง ์ง๊ธ์ ๊ทธ๋ ์ต๋๋ค.
์ต๊ทผ์ yarn 1.12.3
๋ฐ node 10.13.0
์ฌ์ฉํ์ฌ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์์ ๋ง์ ์๋ฃจ์
์ ์๋ํ ํ ์๋ฌด ์์ฉ์ด ์์์ง๋ง yarn.lock
ํ์ผ์ ์ญ์ / ์ฌ์์ฑํ์ต๋๋ค.
๋น์ทํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. @mvonballmo๊ฐ ์ ์ํ ๊ฒ์ฒ๋ผ yarn.lock
์ ๊ฑฐํ๋ ๊ฒ์ด ์คํ์ ์ฑ๊ณตํ ์ ์ผํ ๋ฐฉ๋ฒ์ด์์ต๋๋ค. ๊ทธ๋๋ ์ฌ์ ํ ์์ ํ ์๋ํ์ง ์์ต๋๋ค.
yarn install v1.12.3
[1/4] Resolving packages...
[2/4] Fetching packages...
error https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "ENOSPC: no space left on device, write"
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
yarn install v1.12.3
info No lockfile found.
[1/4] Resolving packages...
warning celebrate > joi > [email protected]: This version is no longer maintained. Please upgrade to the latest version.
warning xo > eslint > file-entry-cache > flat-cache > [email protected]: CircularJSON is in maintenance only, flatted is its successor.
[2/4] Fetching packages...
error https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "ENOSPC: no space left on device, write"
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
์๋ ์น๊ตฌ๋ค,
๋ฐ๋ผ์ ์ฌ๊ธฐ์๋ณด๊ณ ๋ ๋ค๋ฅธ ์ค๋ฅ๋ก ํ๋จํ๋ฉด ์ค์ ๋ก ์ฌ๋ฌ ๊ฐ์ง ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์์๋ ๊ฒ์ฒ๋ผ ๋ณด์
๋๋ค.
ENOSPC: no space left on device, write
,
wanted sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= but got sha1-AHoWKXweP+Pg9aZkGBsAjFruGaM=
(btw, ์์ธํ ์ดํด ๋ณด์ง๋ง ๊ฐ์ง ์์),
the file appears to be corrupt: "Unexpected end of data"
๋ฑ
์ ์ฌํ ์ฅ์์์ ์ด๋ฌํ ์ผ์ด ๋ฐ์ํ ์ ์๋ค๋ ์ ์ ๊ฐ์ฌํ์ง๋ง ์์ ํ ๋ค๋ฅธ ๋ฌธ์ ๋ฐ / ๋๋ ํ๊ฒฝ์ผ๋ก ์ธํด ๋ฐ์ํ ์ ์์ต๋๋ค. ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ (ํนํ ์ค๋ฅ ์ฝ๋ฐฑ์ ๋ํ untarStream-์์ธํ ๋๋ฒ๊ทธ @hulkish ๋๋ถ์!)๋ ๋ง์ ์ค๋ฅ๋ฅผ ์์ง ํ ์์๋ ๊น๋๊ธฐ์ด๋ฉฐ ์ค์ ์ค๋ฅ๋ฅผ ๋์ด์ ์ฌ์ฉ์์๊ฒ ํผ๋๋ฐฑ์ ์ ๊ณตํ๋ ๊ฒ์ ์ฝ๊ฐ ์ด๋ ต์ต๋๋ค.
์์ ๋ด์ฉ์ ํนํ ๋ฌด๊ฒฐ์ฑ ๋ง์ด๊ทธ๋ ์ด์
(์ ๋ฌด๊ฒฐ์ฑ ํ๋๋ก ์ด์ ์คํ์ผ yarn.lock
์ฑ์ฐ๊ธฐ)์ ๊ฒฝ์ฐ์ ํด๋น๋ฉ๋๋ค.์ด ์ผํ์ฑ ํ๋ก์ธ์ค (ํ ๋ฒ ์ฑ๊ณตํ๋ค๊ณ ๊ฐ์ )๋ ์ผ๋ฐ ์ค์น๋ณด๋ค ๋คํธ์ํฌ ์ง์ฝ์ ์
๋๋ค. ( integrity
ํ๋์์ด ๋ชจ๋ ํจํค์ง๋ฅผ ๋ฐ๋ณตํ๊ณ ๋ ์ง์คํธ๋ฆฌ ๋งค๋ํ์คํธ๋ฅผ ๊ฐ์ ธ์ต๋๋ค).
๊ฒฝํฉ ์ํ์ ๋ํ ์ด๋ก ์ ํฅ๋ฏธ๋กญ๊ณ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ๋์ต๋๋ค. ๋ ์์ธํ ์ดํด๋ณด๋ฉด ๊ธฐ์ฉ๋๋ค. @opiation ์ ๋ณต์ ๊ฐ ์ ์๊ฒ ํจ๊ณผ์ ์ด์ง ์์ ๊ฒ์ด ๋๋ ต์ต๋๋ค. ์ด์ 7 ๋ฒ์งธ ๋ก์ปฌ ์ค์น๋ฅผ ์คํ ์ค์ด๋ฉฐ ์ฌ์ ํ ๋ฌธ์ ์์ด ์๋ํฉ๋๋ค (์คํฌ๋ฆฝํธ๋ฅผ ์คํํ์ง ์์์ต๋๋ค. ๋์ yarn
๋ฅผ ์คํํ์ฌ ํด๋น package.json ๋ฐ yarn.lock๊ณผ ํจ๊ป ์ค์นํ์ต๋๋ค.-์ดํดํฉ๋๋ค. ์ด๊ฒ์ด ์ฌ์ ํ ๋ฌธ์ ๋ฅผ ์ผ์ผ์ผฐ์ต๋๊น?)
@opiation-์ฌ์ ํ์ด ๋ฌธ์ ๋ฅผ ์ฌํ ํ ์ ์์ต๋๊น? ๊ฐ์ ์กฐ๊ฑด์์? ์๋ง๋ ์ฐ๋ฆฌ๋ ํด์๋์ ์์ค์ ๋ฎ์ถ ์ ์๊ณ ๋น์ ์ดํ๋ ๋ชจ๋ ์ผ์์ด ์ผ์ด ์ผ์ด๋๊ฒํ๊ธฐ์ํ ๋ช ๋ น๊น์ง ๋งํด ์ค ์ ์์ต๋๊น?
์ด ์ค๋ ๋์ ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ๊ณต์ ํ ์์๋ ์ค์ ์ด์์ด์ด ๋ฌธ์ ๋ฅผ ๋ถ๋ถ์ ์ผ๋ก๋ ์ผ๊ด๋๊ฒ ์ฌํ ํ ์ ์์ต๋๊น? ๋๋ ์ด๊ฒ์ ๋ฐ๋ฅ์ ๋๋ฌํ๊ฒ ๋งค์ฐ ๊ธฐ์ ๊ฒ์ ๋๋ค.
๋ด CI ์์คํ ์์ ๋์ผํ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ฐ์ํ์ต๋๋ค.
2018-11-12T04:32:13.0386630Z error https://pkgs.dev.azure.com/JeremyTCD/_packaging/Main/npm/registry/cheerio/-/cheerio-0.22.0.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "Unexpected end of data"
2018-11-12T04:32:20.4838361Z
2018-11-12T04:32:20.4852626Z yarn install v1.12.3
2018-11-12T04:32:20.4853491Z [1/4] Resolving packages...
2018-11-12T04:32:20.4855400Z [2/4] Fetching packages...
2018-11-12T04:32:20.4856037Z info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
๊ทธ๋๋ ๋ด ํน์ ๋ฌธ์ ๋ฅผ ํ์ ํ์ต๋๋ค. ๋น์ทํ ๊ฒ์ ๋ง๋๋ ์ฌ๋์ ์ํด ์ฌ๊ธฐ์ ๋ฉ๋ชจ๋ฅผ ๋จ๊ธธ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
๋ด ํ๋ก์ ํธ ([email protected])์ ์ ์ข
์์ฑ์ ์ถ๊ฐ ํ ํ ๋ก์ปฌ ์ปดํจํฐ์์ yarn install
๋ฅผ ํธ์ถํ์ต๋๋ค. ๋ก์ปฌ .npmrc
์ผ๋ก ์ธํด yarn์ ๋ด ๊ฐ์ธ ๋ ์ง์คํธ๋ฆฌ์์ ์ข
์์ฑ์ ๋ณต์ํ์ต๋๋ค. ์์ฑ ๋ yarn.lock
์๋ ๋ค์ ์ค์ด ํฌํจ๋ฉ๋๋ค.
[email protected]:
version "0.22.0"
resolved "https://pkgs.dev.azure.com/JeremyTCD/_packaging/Main/npm/registry/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e"
dependencies:
...
ํจํค์ง๊ฐ ๊ฐ์ธ ์ ์ฅ์์์ ์ด๋ป๊ฒ ํ์ธ๋์๋์ง ํ์ธํ์ญ์์ค. ๋ด CI ๋จธ์ ์ ๊ฐ์ธ ๋ ์ง์คํธ๋ฆฌ์ ๋ํ ์๊ฒฉ ์ฆ๋ช
์ด์๋ .npmrc
๊ฐ ์์์ต๋๋ค. ์ด๊ฒ์ด ์ค๋ฅ ๋ฉ์์ง์ ์์ธ์
๋๋ค.
https://pkgs.dev.azure.com/JeremyTCD/_packaging/Main/npm/registry/cheerio/-/cheerio-0.22.0.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "Unexpected end of data"
๋ด ๋ก์ปฌ .npmrc
ํ๊ณ ๋ด yarn.lock
์ฌ์์ฑํ์ต๋๋ค.
[email protected]:
version "0.22.0"
resolved "http://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e"
integrity sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=
์ด์ ํจํค์ง๊ฐ ๊ธฐ๋ณธ NPM ๋ ์ง์คํธ๋ฆฌ์์ ์ด๋ป๊ฒ ํ์ธ๋๋์ง ํ์ธํฉ๋๋ค. ์ด ์์ ์ ์ํํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
๋ฌธ์ ์ ์์ธ์ด ๋์ ๋์ผํ ๊ฒฝ์ฐ ๋ค์์ ์ํ ํ ์ ์์ต๋๋ค.
.npmrc
( yarn config list
๋ yarn์ด ๋ณต์ํ๋ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ธ์ ํจ)์ ์กฐ์ ํ ๋ค์ yarn.lock
๋ฅผ ๋ค์ ์์ฑํฉ๋๋ค.์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ ๊ตฌ์ฒด์ ์ผ ์ ์์ต๋๋ค.
ํธ์ง : ์ฒ์์๋ Yarn์ ๋กค๋ฐฑํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค. ์ค์๋ก ๋ด ์๋ชป๋ ์ปค๋ฐ์์ด ๋ฌธ์ ์ ์ฐ๊ฒฐํ์ต๋๋ค. ์ ์ฌ๋ ๊ฒฐ๊ตญ ๋ฌธ์ ๊ฐ ์๋ ์์ต๋๋ค.
์์ฝ : yarn.lock ํ์ผ์ ์ญ์ ํ๊ณ ๋ค์ ์์ฑํ์ญ์์ค.
Netlify์์ ๋น๋ํ๋ ค๊ณ ํ ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค : Extracting tar content of undefined failed, the file appears to be corrupt: "Unexpected end of data"
node_modules ํด๋์ yarn.lock ํ์ผ์ ์ญ์ ํ ๋ค์ yarn install
๋ฅผ ํตํด ๋ค์ ์์ฑํ๋ฉด ์ข
์์ฑ์ด ๋ค๋ฅธ ์๋ก์ด yarn.lock ํ์ผ์ด ์๊ฒผ์ต๋๋ค. ์ด ์ ํ์ผ๋ก Netlify๋ ๋ด ํ๋ก์ ํธ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๊ตฌ์ถํ์ต๋๋ค.
@imsnif ๋ ์ฌ๊ธฐ์ ์ฌ๋ฌ ๊ฐ์ง ๋ค๋ฅธ ๋ฌธ์ ๊ฐ๋ณด๊ณ ๋๊ณ ์๋ค๋ ๋ฐ ๋์ํ์ต๋๋ค. ๋ด๊ฐ ์์ ์ค์ธ ํ๋ก์ ํธ์์ @khendry ๊ฐ ์ค๋ช ํ ๋ฌธ์ ๋ฅผ ์ ๋ฐํ๋ ์ฌํ ์ฌ๋ก๊ฐ ์๋ค๊ณ ์๊ฐ ํฉ๋๋ค.
์ฐ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์๋ ํ๋ก์ ํธ์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ค์น์ ์ผ๋ถ๋ก
prepare
์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ deps๋ฅผ ์ ๊ฑฐํ๋ฉด (git URL์ด๊ธฐ ๋๋ฌธ์) ์๋ํฉ๋๋ค. ์ด๋ค์ git url์ ๊ฐ๋ฆฌํค๊ณ ์์ง๋ง ์ค์ ๋ก๋ ์ด๋ค ์ด์ ๋ก ๋ฎคํ ์ค ํ๋๊ทธ๋ฅผ ๋ค์ง๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ๋ ๋ง์yarn install
ํ๋ก์ธ์ค๋ฅผ ์์ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋prepare
๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ๋ฃจํธ ํ๋ก์ธ์ค๊ฐ ์๋ ๋ฃจํธ ํ๋ก์ธ์ค์ ์ํด ์์๋๊ธฐ ๋๋ฌธ์ธ์ง ๊ถ๊ธํฉ๋๋ค.
์๋์ ์ฌํ ๋จ๊ณ๋ฅผ ๊ณต์ ํ๋ฉด ๋ฌธ์ ๋ฅผ ์ฌํ ํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๋ ๋ง์ ์ ๋ณด๊ฐ ํ์ํ๋ฉด ์๋ ค์ฃผ์ธ์.
v10.3.0
๋ฐ yarn v1.12.3
์ ์ฌ์ฉํ์ฌ ์ ํ
์คํธ ํด๋ ์์์ด ์์ ์์ package.json
๋ฐ yarn.lock
rm -rf ~/.cache/yarn* node_modules/ && yarn install --frozen-lockfile --network-concurrency 16
(์์ ์ ์ธ ํ๊ฒฝ์ ์ํด ์บ์๋ฅผ ์ง์ฐ๊ณ ์ด์ ์ ๋
ธ๋ ๋ชจ๋์ ์ค์นํ์ญ์์ค. ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ ๋์ด๋ ค๋ฉด ๋์์ฑ์ ๋๊ฒ ์ค์ ํ์ญ์์ค)yarn install v1.12.3
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
warning Pattern ["object-assign@latest"] is trying to unpack in the same destination "/home/ocderby/.cache/yarn/v4/npm-object-assign-4.1.1-2109adc7965887cfc05cbbd442cac8bfbb360863/node_modules/object-assign" as pattern ["object-assign@^4.1.0","object-assign@^4.1.0","object-assign@^4","object-assign@^4.1.1","object-assign@^4.1.0","[email protected]","object-assign@^4.1.0","object-assign@^4.1.1","object-assign@^4.1.0","object-assign@^4.1.0","object-assign@^4.1.0","object-assign@^4.1.0","object-assign@^4.1.0","object-assign@^4.1.0","object-assign@^4.1.0","object-assign@^4.1.1","object-assign@^4.1.1","object-assign@^4.0.1","object-assign@^4.0.1","object-assign@^4.1.0","object-assign@^4.0.1","object-assign@^4.0.1","object-assign@^4.0.1","object-assign@^4.1.0","object-assign@^4.0.1"]. This could result in non-deterministic behavior, skipping.
info No lockfile found.
[1/4] Resolving packages...
warning eslint > file-entry-cache > flat-cache > [email protected]: CircularJSON is in maintenance only, flatted is its successor.
warning jest > jest-cli > prompts > [email protected]: Please upgrade to kleur<strong i="26">@3</strong> or migrate to 'ansi-colors' if you prefer the old syntax. Visit <https://github.com/lukeed/kleur/releases/tag/v3.0.0\> for migration path(s).
[2/4] Fetching packages...
error https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "ENOENT: no such file or directory, chmod '/home/ocderby/.cache/yarn/v4/npm-lodash-4.17.4-78203a4d1c328ae1d86dca6460e369b57f4055ae/node_modules/lodash/_shortOut.js'"
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
๋๋ ๋ค์ํ ๊ฒ์ ์๋ํ๋ค. ์ฌ๊ธฐ ๋ด ๋ ธํธ๊ฐ์๋ค.
react-textarea-autosize
๋ฒ์ ์ ์ฌ์ฉํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค ( @khendry ๊ฐ ์์์๋ณด๊ณ ํ ๋ด์ฉ์ ํ์ธํ๋ ๊ฒ์ฒ๋ผ --mutex file
์ด ์ ํ ๋์์ด๋์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.1
( --network-concurrency 1
์ธ์๋ฅผ ํตํด)๋ก ์ ํํ๋ฉด ์๋๋ ๋๋ฆฌ์ง ๋ง ๋ชจ๋ ๊ฒ์ด ์ ๋๋ก ์ค์น๋ฉ๋๋ค.circleci/node:8-stretch
docker ์ด๋ฏธ์ง์์ ์คํ๋์์ต๋๋ค.์ต๊ทผ์ yarn์ 1.12.3
์
๋ฐ์ดํธ ํ ํ์ด ์ค๋ฅ๊ฐ ํ์๋๊ธฐ ์์ํฉ๋๋ค.
๋ด travis-ci ๋น๋ ์คํจ https://travis-ci.org/ankurk91/vue-cleave-component ์ฐธ์กฐ
$ yarn install --non-interactive
yarn install v1.12.3
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
error https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.2.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "Unexpected end of data"
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
The command "yarn install --non-interactive" failed and exited with 1 during .
[email protected]
์์๋ง ๋ฐ์ํฉ๋๋ค.
์ด๋ป๊ฒ ๋ ์ฑ๊ณตํ๋ฉด ๋ค์ ๊ฒ์ ํ ๊ฒ์
๋๋ค.
์ถ์ .
har-validator ํจํค์ง์๋ง ํด๋น๋ฉ๋๋ค.
๋๋ ๋ํ ์ป๋๋ค
error https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.2.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "Unexpected end of data"
์ปฌ๋ก https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.2.tgz์ ๋ํด 404๋ฅผ ์ป์์ต๋๋ค.
ํ์ง๋ง ๋ด ๋ธ๋ผ์ฐ์ ์์ ๋ค์ด๋ก๋ ํ ์ ์์ต๋๋ค.
๋ด ์๋ฒ ์ค ํ๋๋ฅผ ์์ฌ๋ฅผ 1.12.1๋ก ๋ค์ด ๊ทธ๋ ์ด๋ํ๋ฉด ์๋ํ๊ธฐ ์์ํ์ง๋ง ๋ค๋ฅธ ์๋ฒ์์๋ ์ค๋ฅ๊ฐ ๋์ผํ๊ฒ ์ ์ง๋ฉ๋๋ค (๋ ๊ฒฝ์ฐ ๋ชจ๋ ์์ฌ ์บ์ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ๊ฑฐํฉ๋๋ค).
๊ทธ๊ฒ ์ผ์ข
์ cloudflare (๊ตฌ์ฑ) ๋ฌธ์ ์ผ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๊น?
์๋์,์ด ํน์ ์ธ์คํด์ค (๊ทํ ๋ฐ @ ankurk91์ ์ธ์คํด์ค)๋ har-validator
๊ฒ์๊ฐ ์ทจ์ ๋์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํฉ๋๋ค (# 6694 ์ฐธ์กฐ).
๋ค๋ฅธ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ข
์์ฑ์ผ๋ก ์ถ๊ฐ ํ ํ ( "@team/myproject": "git+ssh://[email protected]/team/myproject.git#master",
) ๋ด CI ํ๊ฒฝ์์๋ง์ด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ํ์ธํ ์ ์์ต๋๋ค
--network-concurrency 1
์ ์ถ๊ฐํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง๋ง ๋ฌผ๋ก ๋น๋๊ฐ ๋งค์ฐ ๋๋ ค์ง๋๋ค.yarn install --network-concurrency 16
์คํํ๋ฉด ๋ก์ปฌ ์์๋ ์ค๋ฅ๊ฐ ๋ฐ์ ์บ์๋ฅผ ์ ๋ฆฌํ๊ฑฐ๋ yarn.lock
์ฌ์ค์ ํ์ง๋ ๋์๊ฒ ์ฐจ์ด๊ฐ ์์์ต๋๋ค.
ํธ์ง : --network-concurrency 1
์์ ์ด ์ผ๊ด๋์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค, ๋ถํํ๋ ๐ข
์ฌ๊ธฐ์ ๊ฐ์ ์ค๋ฅ,
์ฌํํ๊ธฐ ์ฌ์ :
yarn upgrade typescript@^2.8
๊ทธ๋:
yarn upgrade [email protected]
์ด ๋ง์ง๋ง ํจํค์ง๋ฅผ ์ค์นํ๋ ๋์ ctrl + c๋ฅผํ๋๋ฐ .. 'yarn upgrade'๋ฅผ ๋ค์ ์๋ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋ํ๋ฉ๋๋ค.
yarn upgrade v1.12.3
[1/4] ๐ Resolving packages...
[2/4] ๐ Fetching packages...
error https://registry.yarnpkg.com/typescript/-/typescript-2.8.4.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "ENOENT: no such file or directory, stat '/Users/u/Library/Caches/Yarn/v4/npm-typescript-2.8.4-0b1db68e6bdfb0b767fa2ab642136a35b059b199/node_modules/typescript/lib/lib.d.ts'"
info Visit https://yarnpkg.com/en/docs/cli/upgrade for documentation about this command.
์ ๋ฐ์ดํธ : ์๋๋ Sonatype Nexus ์ค์น์ ๋ฉํ ๋ฐ์ดํฐ๊ฐ ์์ ๋์๊ธฐ ๋๋ฌธ์ Yarn ๋ฌธ์ ๊ฐ ์๋๋๋ค. ์ปจํ ์คํธ๋ฅผ ์ํด ๋ ๋์ญ์์ค.
CI ํ๊ฒฝ์ ์ฌ๋ฌ ํจํค์ง์์ ์ด๊ฒ์ ํ์ธํ์ญ์์ค. Yarn 1.12.3 ๋ฐ ๋ ธ๋ 11.1 :
responsive-props-1.2.2.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?"
styled-components-breakpoint-2.1.3.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?"
๋น์ทํ ๋ฌธ์ ๊ฐ ์์์ง๋ง .... ํ์ผ์ด ์์๋ ๊ฒ ๊ฐ์ต๋๋ค : "EBUSY : ...".
์ ์ฒด ์์ฌ ์บ์๋ฅผ ์ง์ฐ๊ณ ๋ค์ ์คํํ์ง๋ง ์ฌ์ ํ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ฌ ์์ฌ๊ฐ ํ์ผ์ ๋ง๋ค๊ณ ์์ฒด์ ์ผ๋ก ์ ๊ทธ๋ ๊ฒ์ฒ๋ผ ๋ณด์
๋๋ค.
์ด๊ฒ์ Windows 10์ ์์ต๋๋ค.
yarn install v1.10.1
[1/4] Resolving packages...
[2/4] Fetching packages...
error https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "EBUSY: resource busy or locked, open 'c:\\src\\yarn\\cache\\v2\\npm-fbjs-0.8.17-c4d598ead6949112653d6588b01a5cdcd9f90fdd\\lib\\UserAgent.js'"
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
๋๋ ์๋ํ๋ "yarn --pnp"๋ฅผ ์คํํ์ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ํํ์ต๋๋ค. ๋ ์๋กญ๊ณ ์๋ง๋ ๋ ๋ถ์์ ํ ์ฝ๋ ์ฌ์ผํ๊ธฐ ๋๋ฌธ์ ์ด์ํฉ๋๋ค.
yarn.lock
์ (๋ฅผ) ์ ๊ฑฐํ๋ ๊ฒ์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ, ๊ฐ์ ๋ฌธ์ ๊ฐ์์์ต๋๋ค. ํ ๋๋ ํ ๋ฆฌ์์ .npmrc๋ฅผ ์ ๊ฑฐํ์ฌ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
rm ~/.npmrc
@binchik- ์ด๊ฒ์ ๋๋ฅผ ์ํด ์ผํ ์ ์ผํ ๊ฒ์ ๋๋ค.
@binchik์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๐
๋ฐ๋ผ์ yarn
์คํจ๋ก ์ด์ด์ง๋ ์ผ๋ จ์ ์ด๋ฒคํธ๋ก ๋ ๋๋ฆฐ ํ ๋ค์๊ณผ ๊ฐ์ package.json์์ npm ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
"audit": "npm audit"
๋๋ ๊ทธ ํ๋ก์ ํธ์์ npm
๋ฅผ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ์์ ํ ์ด๋ฆฌ์์ ์ผ์
๋๋ค. ์ด ๋ช
๋ น ํ์๋ ๋ชจ๋ (npm ํฌํจ)์ด ์์์ ์ค๋ฅ๋ฅผ ๊ฐ๊ธฐ ์์ํ๊ณ ์ด ์ค๋ ๋์ ๋ค๋ฅธ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ฐ๋ผ ์๋ฃ๋์ง ์์ต๋๋ค.
์ค๋ฅ๋ฅผ ์ฌํํ๋ ๋๊ตฐ๊ฐ๊ฐ ๋ฌธ์ ์ ์์ธ์ ์ ํํ ์กฐ์ฌํ๊ณ ํ์ ํ ์ ์๋ค๋ฉด ๋งค์ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค! ์๋ํ์ง๋ง ์ฌํ ํ ์ ์์ต๋๋ค ๐
๋ช ๊ฐ์ง ์ง์นจ :
์คํจ ํ ๋ untarStream
๋ค์ด๊ฐ๋ ๋ด์ฉ์ ํ์
ํด์ผํฉ๋๋ค. ์ ๊ฐ์ค์ json ์๋ต์ tarball (https://github.com/yarnpkg/yarn/blob/master)๋ก ์ฒ๋ฆฌํ๋ ค๊ณ ํ ์ ์๋ค๋ ๊ฒ์
๋๋ค. /src/fetchers/tarball-fetcher.js#L146-L150)
.npmrc
์์ ์ค์ํ๋ค๊ณ ์๊ฐ๋๋ ์ ์ผํ ๊ฒ์ ์ธ์ฆ ํ ํฐ์
๋๋ค. ๋๊ตฐ๊ฐ๊ฐ .npmrc
(์ ์ฒด ํ์ผ์ด ์๋)์์ ์ธ์ฆ ํ ํฐ ์ค์ ์ ๊ฑฐํ์ฌ ๋ฌธ์ ๊ฐ ์ฌ๋ผ์ง๋ ๊ฒ์ ํ์ธํ ์ ์๋ค๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
FWIW, ์ค๋์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ช ๊ฐ์ง:
.npmrc
์ ๊ฑฐํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค. ํ์ผ์ ์ ์ผํ ๊ฒ์ ์ธ์ฆ ํ ํฐ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.npm install
์คํจํ์ผ๋ฉฐ 401 ๊ถํ์๋ ์ค๋ฅ๋ฅผ ๊ธฐ๋กํ์ต๋๋ค..npmrc
ํ์ผ์ ์ ๊ฑฐํ ํ npm install
๋ค์ ์๋ํ์ต๋๋ค.๋ด ๋ฐ๊ฒฌ์ ๋ฐ๋ผ @deleteme ๋ ์์ธ์ด ์๋๋ผ ๋ฒ๊ทธ์ ๋ถ์ฐ๋ฌผ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค.
.npmrc ๋๋ .yarnrc๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ฌ์ฉํ์ง ์๊ณ ๋ง๋ฌ์ต๋๋ค.
์ด ๋ฌธ์ ๊ฐ ๊ฐ์๊ธฐ ํ์๋ณด๋ค ํจ์ฌ ๋ ๋ง์ด ๋ํ๋๊ณ npm ๋ ์ง์คํธ๋ฆฌ๊ฐ ํนํ ๋ถ์์ ํ๋ค๋ ์ ์ ๊ฐ์ํ ๋ ๋ด ๊ฐ์ค์ด ๋ฉ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
@arcanis ๋ ์ค๋์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ์์ํ์ต๋๋ค. npmrc ์ธ์ฆ ํ ํฐ ์ค์ ์ ๊ฑฐํ์ฌ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์์ ํ์ธํ ์ ์์ต๋๋ค.
์ ๊ฒฝ์ฐ์๋ ~/.npmrc
์์ฑ๋์ง ์์์ต๋๋ค. ๊ทธ๋ฌ๋ yarn.lock
์ฌ์์ฑ์ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
๊ฐ๋จํ,
$ rm yarn.lock && yarn
ํธ์ง :์ด ๋ฌธ์ ์ ๋ ๋ฒ๋ง ์ง๋ฉดํ์ฌ ์ฌ๊ธฐ์ ์ฐฉ๋ฅํ์ต๋๋ค. :๋ฏธ์:
์ ๊ฒฝ์ฐ์๋ CircleCI, circleci/node:10.11.0
docker image ๋ฐ [email protected]
๋ฅผ ์ฌ์ฉํ๊ณ ~/.npmrc
๋ ์์ต๋๋ค. @achillesrasquinha ๊ฐ์ฌํฉ๋๋ค. ๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์๋ํฉ๋๋ค.
๋๋ ์ผ์ฃผ์ผ์ ๊ฑธ์ณ์ด ๋ฌธ์ ์ ์ง๋ฉดํ๋ค. yarn install --network-concurrency 1
๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ง๋ง ๋งค์ฐ ๋๋ฆฝ๋๋ค.
btw์์๋์ด ์ ๋ณด๊ฐ ๋๊ตฌ์๊ฒ๋ ๋์์ด ๋ ์ ์์ต๋๋ค.
๋ด ํ๋ก์ ํธ์์ ์ฌ์ฉ์ ์ง์ npm ํจํค์ง (์ฌ๋ด)๋ฅผ ์ฌ์ฉํ๊ณ ์์์ต๋๋ค. ํญ์ .cache/v4
์ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง๋ง ์คํจ ํ ๋๋ง๋ค ๋ค๋ฅธ ํจํค์ง ์ด๋ฆ์ ํ์ํฉ๋๋ค. ๋ง์ ์๊ฐ์ ๋ณด๋ธ ํ ๋ฌด์์ ๊ด์ฐฐ์ ํ๋ ์ฐพ์์ต๋๋ค.
๋ด ํ๋ก์ ํธ์ ์ฌ์ฉ์ ์ง์ npm ํจํค์ง๋ ๋ฒ๋ค ๋น๋์ ๋์ผํ yarn build
๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ฌ์ฉ์ ์ง์ ํจํค์ง ๋น๋ ์คํฌ๋ฆฝํธ ์ด๋ฆ์ yarn build:p
์ ๊ฐ์ ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก ์
๋ฐ์ดํธํ์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์๋์ ์์ํฉ๋๋ค. ๋น๋๋ฅผ ์ฌ๋ฌ ๋ฒ ์คํํ์ต๋๋ค. ์คํจํ์ง ์์์ต๋๋ค. ์ด 2๊ฐ ์ด๋ป๊ฒ ์์กดํ๋์ง ํ์คํ์ง ์์ง๋ง ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค.
.npmrc
์ ๊ฑฐ๋ ๋์๊ฒ๋ง ํด๋น๋์ง ์์์ต๋๋ค. ๋ํ @davidalee๊ฐ ์ธ๊ธ ํ yarn.lock
ํ์ผ์ ์ ๊ฑฐํด์ผํ์ต๋๋ค. ์ ๊ทธ๊ฐ ์์ง ์๊ฐ๋ฝ์ ์๋๋ก ๋ด๋ฆฌ๋ ์ง ๋ชจ๋ฅด๊ฒ ์ด์ ๐คทโโ๏ธ
.npmrc
์ ๊ฑฐ๊ฐ ํจ๊ณผ๊ฐ ์๋์ง ํ์คํ์ง ์์ต๋๋ค.
์ ๋ง ์ญ์ ์ ํฌ์ด ์๋์์ yarn.lock
๋ฐ๋ก ์ ๊ฑฐ๋ฉ๋๋ค ๋ด๊ฐ ๋ฌด์จ ์ง์ํ๋์ง ์๋๋ก ํ์ผ์ har-validator
๋ก๋ถํฐ ํจํค์ง yarn.lock
ํ ํ ๋ค์ ์คํ yarn
๋๋ฅผ ์ํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
์ rm yarn.lock
์ ์๊ฒ ์ ํฉํฉ๋๋ค. har-validator-5.1.2
ํจํค์ง์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
error https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.2.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "Unexpected end of data"
์๋
ํ์ธ์, har-validator-5.1.2๋ ์ฌ๊ธฐ https://github.com/ahmadnassri/node-har-validator/issues/112#issuecomment -437378269์ ๋ช
์๋๋๋ก npm์์ ๊ฒ์๋์ง ์์์ผ๋ฏ๋ก yarn upgrade
๋ฅผ ํตํด ์ข
์์ฑ์ ์
๊ทธ๋ ์ด๋ํด์ผํฉ๋๋ค yarn.lock
๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ๊ณผ ๋์ผํ ํจ๊ณผ๊ฐ์์ ์ ์์).
์ด ๋ฌธ์ ๋ ์ข ๊ฒฐ ๋ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด๊ธฐ ๋ฌธ์ ๋ณด๊ณ ์์์ ์ธ๊ธํ๋ฏ์ด yarn.lock
์ ๊ฑฐํด๋ ํจ๊ณผ๊ฐ ์์์ต๋๋ค. .npmrc
์ ๊ฑฐํ์ง๋ ์์์ต๋๋ค. ๊ฒ๋ค๊ฐ ๋ด๊ฐ ์๋ ํ node:10-alpine
๋์ปค ์ด๋ฏธ์ง์๋ .npmrc
ํ์ผ์ด ์๊ฑฐ๋ ์์ฑํ์ง ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก ์ค๋ฅ๋ har-validator
ํจํค์ง์๋ง ๊ตญํ๋์ง ์์ต๋๋ค. ์ฌ์ค, ๋๋ ๊ทธ ํจํค์ง์์ ๊ทธ๊ฒ์ ๋ณธ ์ ์ด ์์ต๋๋ค. ๋๋ ํจํค์ง lodash
, fbjs
, react
๋ฐ ๋ค๋ฅธ ํธ์คํธ์์ ๊ทธ๊ฒ์ ๋ง๋ฌ์ต๋๋ค.
๋๋ ์ด์ ์๊ฒฌ ์์์ด ๋ฌธ์ ๋ฅผ ์ฌ์ ํ ํ์คํ๊ฒ ์ฌํํ๋ ๋์ ์๋๋ฅผ ์์ฝํ๋ค. ๊ธฐ๋ก์ ์ํด docker๋ก ํ
์คํธ ํ ๋ package.json
๋ง ํฌํจํ์ฌ ๋ฌธ์ ๋ฅผ ์ฌํ ํ ์ ์์ผ๋ฏ๋ก yarn.lock
์์, .npmrc
์์, node_modules
. ๋ด ๋ก์ปฌ ๋จธ์ , GCE ์ธ์คํด์ค ๋ฐ Gitlab.com์ CI๋ฅผ ์ฌ์ฉํ์ฌ์ด ๋ฌธ์ ๋ฅผ ์ฌํ ํ ์ ์์ต๋๋ค. --network-concurrency=1
๋ --skip-integrity-check
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง ๋ชปํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฐ๋ผ์, ํนํ yarn install
๊ฐ npm install
๋ํ ๋๋กญ ์ธ ๋์ฒดํ์ด์ด์ผํ๋ค๊ณ ๊ฐ์ ํ๊ณ ์์์ ์ธ๊ธ ํ ๋ชจ๋ ํ
์คํธ๊ฐ npm install
์ฌ์ฉํ์ฌ ์๋ํ๋ฏ๋ก์ด ๋ฌธ์ ๋ฅผ ์ข
๋ฃํ๋ ๊ฒ์ด ์ข์ต๋๋ค yarn install
๋์ผํ package.json
์ฃผ์ด์ง๋๋ค.
๋ฌธ์ ๋ npm ๋ ์ง์คํธ๋ฆฌ๊ฐ ์ผ๋ฐ์ ์ผ๋ก ๋ถ์์ ํ๊ณ ์ค๋ฅ๋ฅผ ๋ฐํํ๋ค๋ ๊ฒ์ ๋๋ค (์ฌ๋ฌ ์์ฒญ์ด ๋ถ๋ช ํ ๋ฐ์ํ๋ ๊ฒฝ์ฐ ๋ ๋์ ์๋๋ก-์๋ง๋ ์ผ์ข ์ IP ๋น ์กฐ์ ?). ์ด๋ค ์ด์ ๋ก ๊ทธ๋ค์ Yarn์ ์ํด ์ ๋๋ก ์กํ์ง ์์๊ณ , ๋งน๋ชฉ์ ์ผ๋ก ํด์๋ฅผ ์๋ํ๊ณ ์์ ํด์์ ๋น๊ตํ๋ ค๊ณ ์๋ํฉ๋๋ค.
๋ฐ๋ผ์ Yarn์๋ ๋ฒ๊ทธ๊ฐ ์์ต๋๋ค (๋ ์ ์ฉํ ์ค๋ฅ๋ฅผ ์ธ์ํด์ผ ํจ).ํ์ง๋ง ์ค์ ๋ฌธ์ ๋ npm ๋ ์ง์คํธ๋ฆฌ๊ฐ ์ผ๋ง๋ ๋ถ์์ ํ์ง๋ฅผ ๊ฐ์ํ ๋ ํ์ฌ ๋ด ์ฐ์ ์์๋ ์๋๋๋ค (ํ์ง๋ง PR์ ํ์คํ ๊ฒํ ํ๊ฒ ์ต๋๋ค!) .
npm์์ ๋ฐ์ํ์ง ์๋ ์ด์ ๋ ์๋ ํ ๋๊น์ง ์์ฒญ์ ๋ค์ ์๋ํฉ๋๋ค. Yarn์๋์ด๋ฅผ ์ํํ๋ ๋ฉ์ปค๋์ฆ์ด ์์ง๋ง ๊ตฌ์ฒด์ ์ผ๋ก ํด์๋ฅผ ๊ณ์ฐํ๋ ๋ถ๋ถ์๋ ์์ต๋๋ค.
์คํ๋ผ์ธ ๋ฏธ๋ฌ ๋ฅผ ์ฌ์ฉํ์ฌ ์ค์น์ npm ๋ ์ง์คํธ๋ฆฌ์ ์์กดํ๋ ๊ฒ์ ์ค์งํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
https://github.com/yarnpkg/yarn/pull/6817 ์ ๋ ์ง์คํธ๋ฆฌ์์ ๋ฐํ ๋ ์ค์ ์ํ ์ฝ๋๋ฅผ ํ์ํ์ฌ "์์ "ํฉ๋๋ค. ๋๋ ๊ทธ๊ฒ์ด ์๋ ํ ๋๊น์ง ๋งน๋ชฉ์ ์ผ๋ก ์ฌ ์๋ํ๋ ๊ฒ๋ณด๋ค ์์ ๋ ๊ฒ์ ์ ํธํ๋ฏ๋ก ์ฌ์๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ์ง ์์์ง๋ง ์ํ์ ์ ๊ฐ์ ์ฌํญ์ด ์๋ค๋ฉด ๊ทธ๋ ๊ฒํด์ผ ํ ์๋ ์์ต๋๋ค.
๊ทธ ๋์ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ณ๊ฒฝ๋๊ณ ์ด ์ค๋ ๋๊ฐ ์๋นํ ์ปค์ง๋ฏ๋ก์ด ํ ๋ก ์ ๋ซ๊ฒ ์ต๋๋ค (์ ์ค๋ ๋๋ฅผ ์ด์ด ๊ฐ ์ํ ์ฝ๋๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ๋ ผ์ ํ ์ ์์).
์ ๊ฒฝ์ฐ์๋
~/.npmrc
์์ฑ๋์ง ์์์ต๋๋ค. ๊ทธ๋ฌ๋yarn.lock
์ฌ์์ฑ์ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.๊ฐ๋จํ,
$ rm yarn.lock && yarn
๊ฐ์ฌํฉ๋๋ค,
rm -rf ./yarn.lock && yarn
๊ทธ๊ฒ์ ๋๋ฅผ์ํ ์ผ์
๋๋ค!
๋๊ตฌ์๊ฒ๋ ๋์์ด๋๋ ๊ฒฝ์ฐ :
์ ์๊ฒ ๋ฌธ์ ๋ service docker restart
(Ubuntu 18.04)๋ก ํด๊ฒฐ๋์์ต๋๋ค.
๋๋ ์ด์ ๊ฐ์ ๊ฐํ์ ์ด๊ณ ๋น ๊ฒฐ์ ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ด ๋น๋๋ฅผ ๋ค์ ์์ํ๋ฉด ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝ๋์ง ์๊ณ ์๋ํฉ๋๋ค. ๋๊ตฐ๊ฐ ์์ฌ์ ๋ํ ๋์์ด ์์ต๋๊น?
๊ธฐ๋ณธ ๋์ปค ์ด๋ฏธ์ง๋ฅผ node:8.12.0
์์ node:8.13.0
์ผ๋ก ์
๋ฐ์ดํธํ๊ธฐ ์ํด PR์ ์ํ ํ ํ ๋ชจ๋ ๋น๋์์ ๋์ผํ ์ค๋ฅ (๋งค๋ฒ ๋ค๋ฅธ npm ๋ชจ๋์ ์ค๋ฅ)๊ฐ ๋ฐ์ํ๊ธฐ ์์ํ์ต๋๋ค. ์ด ๋
ธ๋ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๊ฒ์ฌ ํ ๊ฒฐ๊ณผ ์ฌ์ ์ค์น๋ yarn ๋ฒ์ ์ด v1.9.4
์์ v1.12.3
๋ก ๋ณ๊ฒฝ๋์์์ ๋ฐ๊ฒฌํ์ต๋๋ค. ์ฐธ์กฐ : ๊ด๋ จ git commit . ์ด ์ค๋ ๋์์ ์ ์ ๋ ์์ ์ฌํญ ์ค ์ผ๋ถ๋ฅผ ์๋ํ์ง๋ง ์ค๋ฅ๋ฅผ ํด๊ฒฐํ์ง ๋ชปํ์ต๋๋ค. Dockerfile ์ yarn ๋ฒ์ ์ v1.9.4
๋ก ๊ฐ๋จํ ๋ค์ด ๊ทธ๋ ์ด๋ ํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์์์์ต๋๋ค. ๋๋์ด ๋ฒ์ ์ ์ค์ด ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ ๋ฌธ์ ๊ฐ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง, ๋์๊ฒ๋ ๋ ์ต๊ทผ์ ์ค ๋ฒ์ ์ด ๋ฌธ์ ๋ฅผ ์ ๋ฐํ๊ณ ์์ต๋๋ค. jfrog ์ํฐ ํฉํ ๋ฆฌ๋ฅผ ํตํด ๊ฐ์ธ ๋ชจ๋์ ์ก์ธ์คํ๊ธฐ์ํ ์๊ฒฉ ์ฆ๋ช
์ ์ ๊ณตํ๋ .npmrc
ํ์ผ์ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ๋ชจ๋ npm ๋ชจ๋์ ๋ฏธ๋ฌ๋ง / ํ๋ก์ํ๋๋ก ์ํฐ ํฉํ ๋ฆฌ๋ฅผ ์ค์ ํ์ต๋๋ค.
์ ์ด๊ฒ์ด ๋ซํ ์์ต๋๊น? ์์ง๋ ๊นจ๋ CI
๊ทธ ๋์ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ณ๊ฒฝ๋๊ณ ์ด ์ค๋ ๋๊ฐ ์๋นํ ์ปค์ง๋ฏ๋ก์ด ํ ๋ก ์ ๋ซ๊ฒ ์ต๋๋ค (์ ์ค๋ ๋๋ฅผ ์ด์ด ๊ฐ ์ํ ์ฝ๋๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ๋ ผ์ ํ ์ ์์).
์ด ์ค๋ ๋๊ฐ ์ ์ฉ์ฑ์ ์ง๋์น ๊ฒ์ฒ๋ผ ๋ณด์ด๊ธฐ ๋๋ฌธ์ ๊ณ์ํด์์ด ์ค๋ ๋๋ฅผ ์ ๊ธ ๊ฒ์ ๋๋ค. ์๋ฆผ :
์ด ์ค๋ฅ ๋ฉ์์ง๊ฐ์๋ ๊ฒฝ์ฐ, ๋น์ ์ ๋งค์ฐ ๊ฐ๋ฅ์ฑ์ด ์ค๋๋ ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. 1.13+๋ก ์ ๊ทธ๋ ์ด๋ํ์ฌ ์ง์ ํ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ป์ผ์ญ์์ค. ์ด๋ค ์ด์ ๋ก ๋ ์ง์คํธ๋ฆฌ๊ฐ HTTP 500์ ๋ฐํ ํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
Yarn ์์ฒด์์ ๋ฐ์ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ์ค๋ฅ๊ฐ ๊ณ์ ๋ฐ์ํ๋ฉด ์ ์ค๋ ๋๋ฅผ ์ด๊ณ ๋ฌธ์ ๋ฅผ ์ฌํํ๋ ๋ฐฉ๋ฒ์ ์์ธํ ์ค๋ช ํฉ๋๋ค. ๋ณต์ ๋ฌผ์ ์ ๊ณตํ์ง ์์ผ๋ฉด ์์ ์ฌํญ์ ์ ๊ณต ํ ์ ์์ผ๋ฉฐ ์ง์ ์กฐ์ฌ๋ฅผ ์์ฒญํด์ผ ํ ๊ฒ์ ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ ๊ฒฝ์ฐ์๋
~/.npmrc
์์ฑ๋์ง ์์์ต๋๋ค. ๊ทธ๋ฌ๋yarn.lock
์ฌ์์ฑ์ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.๊ฐ๋จํ,
ํธ์ง :์ด ๋ฌธ์ ์ ๋ ๋ฒ๋ง ์ง๋ฉดํ์ฌ ์ฌ๊ธฐ์ ์ฐฉ๋ฅํ์ต๋๋ค. :๋ฏธ์: