๊ธฐ๋ฅ ์ ์์ฒญํ๊ฑฐ๋ ๋ฒ๊ทธ๋ฅผ๋ณด๊ณ ํ์๊ฒ ์ต๋๊น?
๊ณค์ถฉ
ํ์ฌ ํ๋์ ๋ฌด์์
๋๊น?
npmjs
์ ์ฅ์์ ๋ชจ๋์๋ง ์์กดํ๋ ํจํค์ง๊ฐ ์์ต๋๋ค. ์ฃผ๋ก ๊ณต์ฉ ์ ์ฅ์์ด์ง๋ง 5 ๊ฐ๋ @ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฒ์๊ฐ ์ง์ ๋ ๊ฐ์ธ ์ ์ฅ์์
๋๋ค. ๋ค์ ๋งํ์ง๋ง ์ด๋ค์ npmjs
์์ ํธ์คํ
๋ฉ๋๋ค.
์ค๋๋ ๊น์ง ๊ทธ๋ค ๋ชจ๋๋ ๋ฌธ์ ์์ด ์ค์น๋ฅผ ๋ค์ด๋ก๋ ํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๋ฌด์ธ๊ฐ๊ฐ ๋ณ๊ฒฝ๋์ด ์ด์ ๊ทธ์ค ํ๋๊ฐ ๋ค์ ์ค๋ฅ์ ํจ๊ป ์ค์น์ ์คํจํฉ๋๋ค.
error An unexpected error occurred: "http://registry.npmjs.org/@pepperhq/hmac-http-authentication/-/hmac-http-authentication-0.1.2.tgz: Request failed \"404 Not Found\"".
์์ ์ธ๊ธํ๋ฏ์ด ๋ค๋ฅธ ๊ฐ์ธ ์ ์ฅ์ (๋ชจ๋ ๋์ผํ @ ๋ฒ์ ๋ด์ ์์)๋ ์๋ ํ๋๋ก ๋ค์ด๋ก๋ํ๊ณ ์ค์นํฉ๋๋ค. ์ด๊ฒ์ ์ด๊ฒ์ด ์ธ์ฆ ๋ฌธ์ ๊ฐ ์๋๋ผ๊ณ ์๊ฐํ๊ฒ ๋ง๋ญ๋๋ค.
๋ด .npmrc
๋ด ํ๋ก์ ํธ์ ๋ฃจํธ์ ๋ด ํฌํจํ๋ _authToken
๊ฐ์ ์ธ๋ชจ :
//registry.npmjs.org/:_authToken=TOKEN_HERE
์ด๋ฏธ ๋ค์ ํ๋์ ์๋ฃํ์ต๋๋ค.
1) npm login
๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ๋ก๊ทธ์ธํ์ฌ ์๋ก์ด accessToken์ ์ป์ต๋๋ค.
2) ํจํค์ง ์ด๋ฆ์ด ์ฌ๋ฐ๋ฅธ์ง ํ์ธ (ํ์ธํ๊ธฐ ์ํด npm ์น ์ฌ์ดํธ์์ ๋ณต์ฌํ์ต๋๋ค)
3) rm -rf node_modules && rm yarn.lock && yarn cache clean
๋ฌ๋ฆฌ๊ธฐ
4) ๋ด package.json์์ ๋ฌธ์ ๊ฐ๋๋ ํจํค์ง๋ฅผ ์ ๊ฑฐํ๊ณ ๋ค์ yarn add
์๋
5) ๋๋ฑํ npm install --save
๋ช
๋ น์ ์คํํ๋ ค๊ณ ํฉ๋๋ค. ์ด๊ฒ์ ํจ๊ณผ๊ฐ ์์๋ค.
ํ์ฌ ๋์์ด ๋ฒ๊ทธ ์ธ ๊ฒฝ์ฐ ์ฌํ ๋จ๊ณ๋ฅผ ์ ๊ณตํ์ญ์์ค.
์์ธ์ ์ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์ฌํ ๋ฐฉ๋ฒ์ ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. Discord ๋๋์ด ๋ฌธ์ ์ ๋ํ ์๊ฒฌ์์ ๋ ์์ธํ ๋
ผ์ ํ ์ํฅ์ด ์์ต๋๋ค.
์์๋๋ ๋์์ ๋ฌด์์
๋๊น?
Yarn์ด npmjs
์์ ๋ด ๋ชจ๋ ๊ฐ์ธ ์ ์ฅ์๋ฅผ ์ค์นํ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค.
node.js, yarn ๋ฐ ์ด์ ์ฒด์ ๋ฒ์ ์ ์ธ๊ธํ์ญ์์ค.
yarn-error.log
Yarn version:
0.20.3
Node version:
6.9.5
Platform:
darwin x64
์ ์ณ๋๊ณ , ํจํค์ง๋ ๋ถ๋ช
ํ ์กด์ฌํ๊ณ yarn
๋ URL์ ๊ฒ์ํ๋ ค๋ ๋ฒ์ ๋ฒํธ๊ฐ ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ด๋ค ๋ฐฉ์ ์ผ๋ก๋ ํจํค์ง์ ๋ช
ํํ๊ฒ ์ก์ธ์คํ๊ณ ์์ต๋๋ค.
๋ช ๊ฐ์ง ํ
์คํธ๋ฅผ ๋ ์คํ ํ ๊ฒฐ๊ณผ Yarn
์ฌ์ฉํ ๋ ํ์ํ ๋ค๋ฅธ ์ ์ฅ์์์ ๋์ผํ ํจํค์ง๋ฅผ ์ค์นํ์ง ๋ชปํ๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๊ทธ๋ฌ๋ npm
์ฌ์ฉํ๋ฉด ์ ๋๋ก ์๋ํฉ๋๋ค.
์ด๋ก ์ธํด ๋ด ์ ์ฅ์ ํน์ ๊ตฌ์ฑ์ด ์๋๋ผ๊ณ ์๊ฐํฉ๋๋ค. Yarn
์๋ก ๋์ด๊ฐ๋ ํจํค์ง ์ด๋ฆ์ด๋ URL ์ธ์ฝ๋ฉ ๋ฑ๊ณผ ๊ด๋ จ์ด์์ ์ ์์ต๋๊น?
์ฌ๊ธฐ ๋นจ๋๋ฅผ ์์ผ ์ฅ๊ณ ์์ง๋ง ์ด๊ฒ์ด ๋๊ตฐ๊ฐ๋ฅผ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ๋ถ๋ช ํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๋ฌธ์ ๊ฐ๋๋ ํจํค์ง๋ฅผ ์ ๋ฒ์ ๋ฒํธ๋ก ๋ค์ ๊ฒ์ํ์ต๋๋ค.
์ ๊ทธ๊ฒ์ด ๊ณ ์ณ ์ก๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋๋ฒ๊น ์ ๋์์ด ๋ ์ ์๋๋ก ์ฌ๊ธฐ์ ๋จ๊ฒจ ๋๊ฒ ์ต๋๋ค.
๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด๊ฒ์ ๋ฌด์์๋ก ๋ฐ์ํ๋ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ ๋จ์ํ ๋น๋๋ฅผ ์ฌ ์๋ํ์ฌ ํด๊ฒฐ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๋ํ ๋๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ผ๋ถ ๊ฐ์ธ ๋ชจ๋์ ์๋ํ์ง ์์ต๋๋ค. ๋ชจ๋ ๋์ผํ @scope.
์ฐ๋ฆฌ๋ ๋ฐฉ๊ธ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ฒฝํํ์ต๋๋ค. ๋์์ด ๋ ์ ์๊ธฐ๋ฅผ ๋ฐ๋ผ๋ฉฐ ์ฌ๊ธฐ์ ๋ ๋ง์ ์ปจํ ์คํธ
ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ์์์ ์ธ๊ธํ๋ฏ์ด ์ ๋ฒ์ ์ ํจํค์ง๋ฅผ ๊ฒ์ํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
๋ถํํ๋ ๋น๋ ์คํจ ํ ์ปจํ
์ด๋๊ฐ ์ฆ์ ํ๊ดด๋์ด ์์ธํ yarn-error.log
์ (๋ฅผ) ์ป์ ์ ์์์ต๋๋ค. ๋ค๋ฅธ ์ฌ๋์ด์ด ๋ฌธ์ ๊ฐ์๋ ๊ฒฝ์ฐ verbose
์ค์น๋ก ๋ค์ ์๋ํ๊ณ ์ฌ๊ธฐ์ ๋ก๊ทธ์ธ์ ํ ์ ์์ต๋๊น?
๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. circleci 2.0์์ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ๋ก์ปฌ์์ ๋๋ฒ๊น ํ๋ ๊ด๋ จ์๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค (cci์ local์ ์ปดํ์ผ ์ฐจ์ด).
yarn
ํ๋ฉด ๋ชจ๋ ๊ฒ์ด ์๋ํฉ๋๋ค.yarn
๋ ์ค๋ฅ๊ฐ ๋ฐ์ ํฉ๋๋ค.yarn
ํ๋ฉด ์๋ํฉ๋๋ค..npmrc
๋ฑ์ ์ค์ ํ์ต๋๋ค. ๋ก์ปฌ์์ ์คํ๋๋ ์ปจํ
์ด๋์์ ์๋ํ์ง ์๋ ๊ฒ์ ์ ๋ง ํค๋ ์คํฌ๋ ์ฒ์
๋๋ค.
Verbose๋ ๋ด๊ฐ ๋ฐ๊ฒฌ ํ ์์๋ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ง ์์์ต๋๋ค.
root<strong i="17">@2adc7c09ff9a</strong>:~/af/spec/dummy# yarn --pure-lockfile --ignore-optional
yarn install v0.21.3
[1/4] Resolving packages...
[2/4] Fetching packages...
error An unexpected error occurred: "https://registry.yarnpkg.com/@alienfast/build/-/build-2.0.38.tgz: Request failed \"404 Not Found\"".
info If you think this is a bug, please open a bug report with the information provided in "/root/af/spec/dummy/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
root<strong i="18">@2adc7c09ff9a</strong>:~/af/spec/dummy# yarn --pure-lockfile --ignore-optional --verbose
yarn install v0.21.3
verbose 0.178 current time: 2017-03-01T20:22:52.715Z
[1/4] Resolving packages...
[2/4] Fetching packages...
verbose 0.798 Performing "GET" request to "https://registry.yarnpkg.com/@alienfast/build/-/build-2.0.38.tgz".
verbose 0.861 Performing "GET" request to "https://registry.yarnpkg.com/@alienfast/ui/-/ui-1.0.34.tgz".
verbose 0.894 Performing "GET" request to "https://registry.yarnpkg.com/react-relay/-/react-relay-0.10.0.tgz".
verbose 0.895 Performing "GET" request to "https://registry.yarnpkg.com/react-dom/-/react-dom-15.4.2.tgz".
verbose 0.919 Performing "GET" request to "https://registry.yarnpkg.com/eslint/-/eslint-3.15.0.tgz".
verbose 0.941 Performing "GET" request to "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.39.0.tgz".
verbose 0.951 Performing "GET" request to "https://registry.yarnpkg.com/@alienfast/material-ui/-/material-ui-0.16.87.tgz".
verbose 0.966 Performing "GET" request to "https://registry.yarnpkg.com/@alienfast/react-formal/-/react-formal-0.24.7.tgz".
verbose 1.003 Performing "GET" request to "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz".
verbose 1.103 Performing "GET" request to "https://registry.yarnpkg.com/graphql/-/graphql-0.9.1.tgz".
verbose 1.178 Performing "GET" request to "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz".
verbose 1.206 Performing "GET" request to "https://registry.yarnpkg.com/material-ui/-/material-ui-0.16.7.tgz".
verbose 1.249 Performing "GET" request to "https://registry.yarnpkg.com/react-i18next/-/react-i18next-2.2.0.tgz".
verbose 1.261 Performing "GET" request to "https://registry.yarnpkg.com/react-relay-network-layer/-/react-relay-network-layer-1.4.0.tgz".
verbose 1.272 Performing "GET" request to "https://registry.yarnpkg.com/react-router/-/react-router-3.0.2.tgz".
verbose 1.696 Performing "GET" request to "https://registry.yarnpkg.com/react-router-relay/-/react-router-relay-0.13.5.tgz".
verbose 1.764 Performing "GET" request to "https://registry.yarnpkg.com/react-sizeme/-/react-sizeme-2.2.0.tgz".
verbose 2.063 Performing "GET" request to "https://registry.yarnpkg.com/recompose/-/recompose-0.22.0.tgz".
verbose 2.144 Error: https://registry.yarnpkg.com/@alienfast/build/-/build-2.0.38.tgz: Request failed "404 Not Found"
at Request.handleRequestError (/root/.yarn/lib/fetchers/tarball-fetcher.js:231:20)
at emitOne (events.js:96:13)
at Request.emit (events.js:189:7)
at Request.onRequestResponse (/root/.yarn/node_modules/request/request.js:986:10)
at emitOne (events.js:96:13)
at ClientRequest.emit (events.js:189:7)
at HTTPParser.parserOnIncomingClient (_http_client.js:522:21)
at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23)
at TLSSocket.socketOnData (_http_client.js:411:20)
at emitOne (events.js:96:13)
at TLSSocket.emit (events.js:189:7)
error An unexpected error occurred: "https://registry.yarnpkg.com/@alienfast/build/-/build-2.0.38.tgz: Request failed \"404 Not Found\"".
info If you think this is a bug, please open a bug report with the information provided in "/root/af/spec/dummy/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
root<strong i="21">@2adc7c09ff9a</strong>:~/af/spec/dummy# cat ~/.npmrc
registry=https://registry.npmjs.org/
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
root<strong i="24">@2adc7c09ff9a</strong>:~/af/spec/dummy# echo $NPM_TOKEN
xxxxx-xxxx-xxxx-xxxx-xxxxxxxx
์ฌ๊ธฐ์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. OSX์์๋ ๋ก์ปฌ๋ก ์๋ํ์ง๋ง CircleCI ์ปจํ ์ด๋ (circleci 1.0)์์๋ ์๋ํ์ง ์์ต๋๋ค.
yarn cache clean
์๋-๋์ค์ ๋ค๋ฅธ ํจํค์ง ์ค์น์ ์คํจํ์ต๋๋ค.
yarn 0.18.1 ๋ฐ 0.21.3์์ ๋ฐ์ํฉ๋๋ค. ๋ฐ๋ผ์ yarnpkg ๋ ์ง์คํธ๋ฆฌ ๊ตฌ์ฑ์์ ๋ฌด์ธ๊ฐ ๋ณ๊ฒฝ๋์์ ์ ์์ต๋๊น? ์๋๋ฉด ์ฌ๊ธฐ ๋๊ธ์์๋ ๋ชจ๋ ์ฌ๋์ด ๋ฌธ์ ์๋๋ฆฌ์ค์์ CircleCI๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค๊ณ ์๊ฐํ๋ฏ๋ก CircleCI ๊ตฌ์ฑ์ ๋ฌธ์ ๊ฐ ์์ต๋๊น?
๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ๋ ํจ๊ณผ๊ฐ ์๋์ง๋ณด๊ณ ์ถ์ ๊ฒ์
๋๋ค.
์ฐ๋ฆฌ๋ .npmrc
๋ฅผ ์ฝ๊ฐ ๋ณ๊ฒฝํด์ผํ๋๋ฐ ์ด๊ฒ์ด ์๋ํ๋ ์ด์ ๋ ๊ฑฐ์ ์๋ฏธ๊ฐ ์์ต๋๋ค.
registry=http://registry.npmjs.org/
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
<strong i="8">@ourscope</strong>:registry=https://registry.npmjs.org/
์ฃผ๋ชฉํ ์ ์ ์ผ๋ฐ ๋ ์ง์คํธ๋ฆฌ์ ๊ฐ์ธ ๋ฒ์ ๋ ์ง์คํธ๋ฆฌ์ ๋ํด ํ๋๊ฐ ๋ชจ๋ ํ์ํ๋ค๋ ๊ฒ์
๋๋ค. @ourscope
๋ฅผ ์์ ์ ๊ฒ์ผ๋ก ๋ณ๊ฒฝํ์ญ์์ค.
์ด๊ฒ์ด ๋๊ตฌ์๊ฒ ๋์์ด๋๋์ง ์๋ ค์ฃผ์ญ์์ค.
@rogchap ๋ฐฉ๊ธ ๊ทํ์ ์๋ฃจ์ ์ ์๋ํ์ง๋ง ์ฌ์ ํ ์ด์ ๊ณผ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ํ๋ฉ๋๋ค :(
์ค์ฝํ ์ด๋ฆ์ ํ์ดํ์ด ์๋๋ฐ ๊ทธ๊ฒ ๋ฒ์ธ ์ผ ์ ์์ต๋๊น?
registry=http://registry.npmjs.org/
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
@our-scope:registry=https://registry.npmjs.org/
@rogchap ์ด ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐ๋ฆฌ ์ํฉ์ ์ํฅ์ ๋ฏธ์น์ง ์์์ต๋๋ค.
root<strong i="7">@f41305331cb8</strong>:~/af/spec/dummy# cat ~/.npmrc
registry=https://registry.npmjs.org/
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
<strong i="8">@alienfast</strong>:registry=https://registry.npmjs.org/
0.20.4
๋ฐ 0.21.3
์คํจ ํจ์ ํ์ธํ์ต๋๋ค. ์ด๊ฒ์ด ๋ฌธ์ ์์ด ์ ์๊ฒ๋ ํจ๊ณผ๊ฐ ์๋ค๋ ์ ์ ๊ฐ์ํ ๋ ์๋ฒ ์ธก์์ ๋ฌด์ธ๊ฐ๊ฐ ๋ณ๊ฒฝ๋์๋์ง ๊ถ๊ธํฉ๋๋ค. ์ด๊ฒ์ ํ์คํ ์ด์ bug
์ฒ๋ผ ๋ณด์
๋๋ค.
npm install
์คํํ๋๋ฐ ๋ฌธ์ ๊ฐ์๋ ํ๊ฒฝ์์ ๋ชจ๋์ ๊ฐ์ ธ ์ค๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.๊ทธ๋์, ๋๋ฅผ ์ํด ์์ ๋์ง ์์์ต๋๋ค ... ๋ค์.
๋ค๋ฅธ ๊ฐ์ธ ๋ชจ๋์ด ์ฌ๋ฐ๋ฅธ ๋ฒ์ ์ ํด๊ฒฐํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง (์ด๋๊ฐ์์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฝ๊ณ ์์ด์ผ ํจ) NPM๊ณผ ๋์ผํ tar URL์ ๋ค์ด๋ก๋ํ๋ ค๊ณ ์๋ํ๋๋ผ๋ 404 ๋ฉ์์ง๋ฅผ ์ ๊ณตํ์ต๋๋ค.
์ด๋ฒ์๋ .npmrc
์์ ๋ ์ง์คํธ๋ฆฌ (์ธ์ฆ ์ ์ธ)๋ฅผ ์ ๊ฑฐ ํ์ฌ ์๋ํ๊ฒํ์ต๋๋ค!
์ผ๊ด์ฑ์ด ์ ํ์๊ณ , .npmrc
๋ก ๋ฌด์์๋ก "์ฌ์"ํ๋ ๊ฒ์ ์ผ์์ ์ผ๋ก ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ ๋ Yarn์ ํ๋ณดํ๋ ค๊ณ ํฉ๋๋ค.ํ์ง๋ง ์ฐ๋ฆฌ ํ์ฌ์ ๋ชจ๋ ์์ง๋์ด๋ Yarn์ด "์์ ์ ", "์ฌ์ฉํ ์ ์์", "์ ๋ขฐํ ์ ์์", "๋น๊ณต๊ฐ ๋ชจ๋๋ก ์๋ํ์ง ์์", "์คํจ"๋ผ๊ณ ๋งํฉ๋๋ค. CI ์๋ฒ "๋ฑ
๊ฐ์ธ NPM ๋ ์ง์คํธ๋ฆฌ๊ฐ ์ฌ์ฉ์ ์์ด์ ํธ์ ํจ๊ป "ํํค"ํ ์์ ์ ์ํํ๊ณ ์๋์ง ๊ถ๊ธํฉ๋๋ค! ?? <-๊ฑฐ์น ์ถ์ธก.
์ด๋ฅผ ๋ ์ ์ดํดํ๋ ค๋ฉด ํต์ฌ ๊ธฐ์ฌ์์ ์๊ฒฌ์ด ํ์ํ ์ ์์ต๋๋ค. @bestander , ์ด๋ค ํต์ฐฐ๋ ฅ?
์ฐ๋ฆฌ๋ ๊ฐ์ธ ํจํค์ง๋ฅผ ๋ง์ด ์ฌ์ฉํ์ง ์์ผ๋ฏ๋ก์ด ๊ธฐ๋ฅ์ ๋์ ๋์ง ์์ต๋๋ค.
Afaik ๋๋ถ๋ถ์ ๋ฌธ์ ๋ ์ปค๋ฎค๋ํฐ์์ ์์ ๋์์ต๋๋ค.
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์์๋ ์ข์ ๊ธฐํ์
๋๋ค.
๋๋ npm ๋ ์ง์คํธ๋ฆฌ๊ฐ UA๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์๋ต์ผ๋ก ๋ฌด์ธ๊ฐ๋ฅผ ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ง ์์ต๋๋ค.
์ข์, ๊ทธ๋์ ๋๋ ์ค์ ๊ฐ์์ ์ฝ๊ฐ ๋๋ฌ ๋ณด์๋ค. tarball์ ๊ฐ์ ธ ์ค๊ธฐ ์ ์ ๋๋ ์ฒซ ๋ฒ์งธ ์์ฒญ์ด ์ ์ก ๋ ํ์ ํ ํฐ์ ์์ด๋ฒ๋ฆฐ ๊ฒ ๊ฐ์ต๋๋ค.
yarn add v0.23.0-0
verbose 0.227 current time: 2017-03-06T20:25:18.877Z
info No lockfile found.
[1/4] Resolving packages...
โ { authorization: 'Bearer MY_TOKEN_IS_HERE' } <<<<<----- here it uses my token for the request
verbose 0.409 Performing "GET" request to "https://registry.npmjs.org/@ovos-media%2flib-director".
verbose 1.306 Request "https://registry.npmjs.org/@ovos-media%2flib-director" finished with status code 200.
{} <--- token is gone
verbose 1.316 Performing "GET" request to "https://registry.npmjs.org/bluebird".
{} <--- token is gone
verbose 1.318 Performing "GET" request to "https://registry.npmjs.org/jwt-decode".
verbose 1.531 Request "https://registry.npmjs.org/bluebird" finished with status code 200.
verbose 1.572 Request "https://registry.npmjs.org/jwt-decode" finished with status code 200.
[2/4] Fetching packages...
https: /@ovos-media/lib-director/-/lib-director-0.4.1.tgz https://registry.yarnpkg.com/@ovos-media/lib-director/-/lib-director-0.4.1.tgz
{} <--- token is gone
verbose 1.597 Performing "GET" request to "https://registry.yarnpkg.com/@ovos-media/lib-director/-/lib-director-0.4.1.tgz".
verbose 2.663 Error: https://registry.yarnpkg.com/@ovos-media/lib-director/-/lib-director-0.4.1.tgz: Request failed "404 Not Found"
at Request.res (/home/ubuntu/yarn/lib/fetchers/tarball-fetcher.js:232:20)
at emitOne (events.js:90:13)
at Request.emit (events.js:182:7)
at Request.onRequestResponse (/home/ubuntu/yarn/node_modules/request/request.js:986:10)
at emitOne (events.js:90:13)
at ClientRequest.emit (events.js:182:7)
at HTTPParser.parserOnIncomingClient (_http_client.js:469:21)
at HTTPParser.parserOnHeadersComplete (_http_common.js:103:23)
at TLSSocket.socketOnData (_http_client.js:359:20)
at emitOne (events.js:90:13)
error An unexpected error occurred: "https://registry.yarnpkg.com/@ovos-media/lib-director/-/lib-director-0.4.1.tgz: Request failed \"404 Not Found\"".
์์ฒญ์ด ์ ์ก๋๊ธฐ ์ ์ npm-registry.js์์ authorization
ํค๋๋ฅผ ๋ช
์ ์ ์ผ๋ก ์ค์ ํ๋ฉด ๋ชจ๋ ๊ฒ์ด ์ ๋๋ก ์๋ํฉ๋๋ค. ๊ทธ๋์ ์๋ฒ ์ธก์ด ์๋ ์ค์ ์ฝ๊ฐ์ ๋ฒ๊ทธ๊ฐ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
ํธ์งํ๋ค:
์ข์ต๋๋ค. ๋ฐ๋ผ์ ์ถ๊ฐ ๊ฒ์ฌ ํ ๊ถํ ํค๋ ์ค์ ์ฌ๋ถ ํ์ธ์ด npm-registry.js
-> https://github.com/yarnpkg/yarn/pull/2598/files#diff ์์ false๋ฅผ ๋ฐํํ๊ธฐ ๋๋ฌธ์์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. -b053bee294c216269844e5874039b6caR62
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ yarnpkg ๋ ์ง์คํธ๋ฆฌ ํ๋ก์๋ฅผ npmjs ๋ ์ง์คํธ๋ฆฌ์ ๋น๊ตํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํฉ๋๋ค.
https://registry.yarnpkg.com/@ovos-media/lib-director/-/lib-director-0.4.1.tgz https://registry.npmjs.org/
์ข์, ๊ทธ๋์ ์ฐ๋ฆฌ๋ฅผ ์ํด yarns ์์ค ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์์ ๋์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก @rogchap์ด ๊ฒ์ ํ ๋ด์ฉ์ด์ง๋ง (์ฐ๋ฆฌ์ ๊ฒฝ์ฐ) ๋ค๋ฅธ ๋ฐฉํฅ์ผ๋ก :
registry=https://registry.npmjs.org/
@ovos-media:registry=https://registry.yarnpkg.com/
//registry.npmjs.org/:_authToken=your-auth-token
๋๋ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์์ ํ ์ ๊ฑฐํฉ๋๋ค.
//registry.npmjs.org/:_authToken=your-auth-token
์ด๋ yarn์ด ์ ๋ณด์ ํ๋ฅด๋ณผ์ ๊ฐ์ ธ ์ค๊ธฐ ์ํด ํด๋น ํจํค์ง์ ๋ํด ๋ค๋ฅธ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ yarn์ด์ด ๋ ๊ฐ์ง๋ฅผ ํผํฉํ๋์ง ํ์คํ์ง ์์ผ๋ฉฐ ์ธ์ฆ ํ ํฐ์ ๋ํ ํ์ธ์ด ์ด๋ป๊ฒ ๋ ๋ณ๊ฒฝ / ๊ฐ์ ๋ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ค์ ๋จ๊ณ๋ ๋ฌด์์ธ๊ฐ์?
ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ฌธ์ํํ๊ฑฐ๋ Yarn์ ๋ณ๊ฒฝ ํ์๊ฒ ์ต๋๊น?
์ง๋ ๋ช ์๊ฐ ๋์ ๊ฐ๋ฅํ ๋ชจ๋ ์กฐํฉ์ ์๋ํด ์์ผ๋ฉฐ์ด ๋ฌธ์ ์ ๋ํ ์ ๋ขฐํ ์์๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์๋ค๊ณ ๋งํ๋ ๊ฒ์ด ์์ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. @flipace ์ด๊ฒ์ด ์ฝ๊ฒ ๊ณ ์น ์์๋ ๊ฒ์ด ์๋ค๋ฉด ์ด๋ค ์๊ฐ์ด๋ผ๋? ๋ ๊ฐ์ง ๋ฐฉ๋ฒ ๋ชจ๋ ๋๋ฅผ ์ํด ์๋ํ์ง ์์ต๋๋ค.
์ฌ์ค, ์คํฌ๋์น์ ๋๋ค. ๋ ์ง์คํธ๋ฆฌ ํ ๋น์ ์ ๊ฑฐํ๊ณ ์ธ์ฆ ํ ํฐ์ด์๋ ์ค๋ง ์ ์งํ๋ ๊ฒ์ด ํธ๋ฆญ์ ์ํํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ ์ฅ ์คํ. ๊ฐ์ฌํฉ๋๋ค @flipace!
@bestander ๋๋ ์์ผ๋ก ๋ฉฐ์น ์์ PR์ ๋ง๋ค๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค.์ด ๊ฒฝ์ฐ ์์ฌ์ ํ๋์ ๊ทธ๋ด ํ์๊ฐ ์์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ๊ทํ์๊ฒ๋ ํจ๊ณผ๊ฐ ์์์ ํ์ธํ @pleunv ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
๋ถํํ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์๋ํ์ง ์์ต๋๋ค ๐ฟ
@willrstern .npmrc ๋ฅผ ๊ฒ์ ํ ์ ์์ต๋๊น?
์, .yarnrc
์ ๊ฑฐํ๋ฉด ํจ๊ณผ๊ฐ์์์ต๋๋ค. ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
registry "https://registry.npmjs.org/"
email <email>
lastUpdateCheck 1489181224804
username <username>
์ฐธ๊ณ ๋ก, npmjs.org
๋ ์ง์คํธ๋ฆฌ๋ ์๋ํ์ง ์๋ ์ด์ ๋ฅผ ํด๊ฒฐํ ๋ ์ถ๊ฐ ํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ๋๋ ๊ตฌ์ฑ์ด ์๋๋๋ค.
@flipace .npmrc
์ ํ ํฐ ์ ์ฉ ์ค์ ํฌํจํ์ฌ ์์ ๋ชจ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด์์ต๋๋ค.
~์ด ํด๊ฒฐ ๋ฐฉ๋ฒ ์ค ์ด๋ ๊ฒ๋ ๋๋ฅผ ์ํด ์ผํ์ง ์์์ต๋๋ค. ~
์ค์ ๋ก ์ด๊ฒ์ ๋ด ๋์ปค ํ์ผ์ ๋ฃ์ผ๋ฉด ์๋ํฉ๋๋ค.
RUN echo -e "registry=https://registry.npmjs.org/\n//registry.npmjs.org/:_authToken=\${NPM_AUTH_TOKEN}\nsatoshipay:registry=https://registry.npmjs.org/" > /usr/src/app/.npmrc
RUN yarn
๋ฌธ์ ์ ๋ฒ์๋ @satoshipay
๋๋ฃ์ ์ ๋์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
v7.7.4
๋ ธ๋๋ฅผ ์ค์นํ๊ณnpm login
๋ฅผ ํตํด npm์ ๋ค์ ๋ก๊ทธ์ธ ํ ํ ๋ชจ๋ ๊ฒ์ด ์๋ํ์ต๋๋ค.
@Levino yarn config list
ํ๊ณ yarn์ด .npmrc ํ์ผ์ ์ ํํ๋์ง ์ดํด๋ณผ ์ ์์ต๋๊น? # 521์์ @BohdanTkachenko ๋ ๋ฌธ์ ๋ฅผ ๋น์ทํ๊ฒ ํด๊ฒฐํ์ต๋๋ค. ์ ์ด๋ ์ด๊ฒ์ ๋๋ฅผ ์ํด ์๋ํฉ๋๋ค :)
์ปค๋ฎค๋ํฐ์ PR์ ํ์ํฉ๋๋ค. ํ์ฌ ํต์ฌ ํ์ ์๋ฌด๋์ด ๋ฌธ์ ๋ฅผ ์กฐ์ฌํ๊ณ ์์ง ์์ต๋๋ค.
@bestander ๋ฌธ์ ๊ฐ์์ ์์๋ ํต์ฌ ํ์ ์กฐ์ธ์ด ์์ต๋๊น?
ํ์ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ์ npm ๐ ์ฌ์ฉ์ผ๋ก ๋์๊ฐ๋ ๊ฒ์
๋๋ค.
package-resolver ๋๋ package-fetcher ์ด๋๊ฐ์ ์์ต๋๋ค.
2017 ๋
5 ์ 16 ์ผ ํ์์ผ 06:29, Roger Chapman [email protected]
์ผ๋ค :
@bestander https://github.com/bestander
๋ฌธ์ ๊ฐ์์ ์์๋ ํต์ฌ ํ?
ํ์ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ์ npm ๐ ์ฌ์ฉ์ผ๋ก ๋์๊ฐ๋ ๊ฒ์ ๋๋ค.โ
๋น์ ์ด ์ธ๊ธ ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/yarnpkg/yarn/issues/2738#issuecomment-301679399 ๋๋ ์์๊ฑฐ
์ค
https://github.com/notifications/unsubscribe-auth/ACBdWMCFoI3uXa_ROrI-ZqwvTGyJjUrhks5r6TQygaJpZM4MGvow
.
์ด ๋ฌธ์ ๊ฐ์๋ ๋ชจ๋ ์ฌ๋๋ค์ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ์ ๊ทธ ์์์๋ ๋ชจ๋ ์์ ๋๋ ํ ๋ฆฌ์์ .npmrc ํ์ผ์ ํ์ธํ์ญ์์ค. ์กด์ฌํ๋ ๊ฒฝ์ฐ ํ ๋๋ ํ ๋ฆฌ์ .npmrc ํ์ผ์ ์ฌ์ ์ํฉ๋๋ค. ์ฐ๋ฆฌ ํ์์ด์ด ๋ฌธ์ ๋ฅผ ๊ฒช์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฅธ .npmrc ํ์ผ์ ๋ค๋ฅธ ํ ํฐ์ ์ค์ ํ์ต๋๋ค.
๋๋ ๋ํ ๋ณผ ๊ณณ์ด ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก yarn install
๋ฐ CI์์ ๋ฒ์๊ฐ ์ง์ ๋ ๊ฐ์ธ ํจํค์ง ์ฌ์ฉ์ ์ด๋ฌํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ด์ ๋ค์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ ์๋น์ค๋ฅผ ๋ง๋ ํ ๊ตฌ์ฑ์์ ์์ ์ ๋ก์ปฌ .npmrc์์ ๋ฒ์์ ๋ํ ๋ ์ง์คํธ๋ฆฌ๋ก registry.npmjs.org
๋ฅผ ๊ตฌ์ฑํ์ง ์์์ต๋๋ค. ์ด๋ yarn.lock์ ๋ฒ์๊ฐ ์ง์ ๋ ํจํค์ง๋ฅผ ํฌํจํ์ฌ ๋ชจ๋ ํจํค์ง์ ๋ํด registry.yarnpkg.com
๋งํฌ๊ฐ ์๋ค๋ ์ฌ์ค๋ก ์ด์ด์ง๋๋ค. ์ฌ๋ฏธ์๊ฒ๋ ๋ก์ปฌ์์ ์๋ํ์ง๋ง CI์์ ๊นจ์ก์ต๋๋ค. ๊ทธ๋์ yarn.lock์ ์ญ์ ํ๊ณ ๋ด ์ปดํจํฐ์์ ๋ค์ ๋ง๋ค์์ต๋๋ค. ์ฌ๊ธฐ์ .npmrc ํ์ผ์ ๋ฒ์์ ๋ํด registry.npmjs.org
๋ฅผ ์ค์ ํ์ต๋๋ค. ์ด์ yarn.lock ํ์ผ์๋ registry.npmjs.org
๋งํฌ ๋ง ์์ต๋๋ค. ๋๋ ์๋ก์ด yarn.lock์ ๋ฐ์ ๊ณ CI๋ ์๋ฌด๋ฐ ๋ฌธ์ ์์ด ํต๊ณผํ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค!
๋ํ cwd์ .npmrc
๊ฐ ์์ผ๋ฉด gitlab-ci์์ ๋์์ด๋์์ต๋๋ค.
๋์ปค ์ปจํ
์ด๋ + yarn 0.26.1
์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค (Mac์์ ๋ก์ปฌ๋ก ์ค์น๊ฐ ์ ์๋ ํจ).
.npmrc๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
<strong i="8">@binded</strong>:registry=https://registry.npmjs.com/
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
NPM_TOKEN์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ๋์์ต๋๋ค. ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
====>> cat .npmrc
#!/bin/bash -eo pipefail
cat .npmrc
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
====>> build
#!/bin/bash -eo pipefail
build
engines.node (package.json): 7
engines.npm (package.json): unspecified (use default)
v7.10.0 is already installed.
Now using node v7.10.0 (npm v4.2.0)
default -> 7 (-> v7.10.0 *)
Using default npm version: 4.2.0
Resolving yarn version 0.26 via semver.io...
Downloading and installing yarn (0.26.1)...
Installed yarn 0.26.1
Installing node modules (yarn.lock)
yarn install v0.26.1
[1/4] Resolving packages...
[2/4] Fetching packages...
error An unexpected error occurred: "https://registry.yarnpkg.com/@binded/binded-client/-/binded-client-1.3.2.tgz: Request failed \"404 Not Found\"".
info If you think this is a bug, please open a bug report with the information provided in "/ci/project/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
Error: Exited with code 1
Step failed
Task failed
๋ํ ๋ค์ .npmrc
์๋ํ์ต๋๋ค.
registry=http://registry.npmjs.org/
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
<strong i="16">@binded</strong>:registry=https://registry.npmjs.com/
๊ด๋ จ์ฑ์ด ์๋์ง ํ์คํ์ง ์์ง๋ง ๋ด yarn.lock ๋ชฉ๋ก ( https://registry.yarnpkg.com/...
๋์ https://registry.npmjs.com/...
) :
"@binded/binded-client@^1.3.2":
version "1.3.2"
resolved "https://registry.yarnpkg.com/@binded/binded-client/-/binded-client-1.3.2.tgz#0c29ed98436084b39420020a533df26da3ebbda3"
์
๋ฐ์ดํธ : yarn.lock
์ญ์ ํ๋ฉด ์ค์น๊ฐ ์ฑ๊ณตํฉ๋๋ค.
์
๋ฐ์ดํธ : [email protected]
์ค์น๊ฐ ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ ๊ฒ ๊ฐ์ต๋๋ค (์ด์ ์ [email protected]
์ฌ์ฉํ๋ ๊ฒ ๊ฐ์ต๋๋ค)
@olalonde ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ด ์ปดํจํฐ์ ๋ ์ง์คํธ๋ฆฌ๋ฅผ https://registry.npmjs.org/
ํ๊ณ yarn.lock
๋ง๋ค๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
์๋ ํ์ธ์,
์ ๋ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ฒช๊ณ ํด๊ฒฐํด ๋๊ธฐ ๋๋ฌธ์ ์ ๊ฒฝํ์ ๊ณต์ ํ๊ฒ ์ต๋๋ค.
๋ชจ๋ random
ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์๋ํ์ง๋ง @rogchap์ด ๋งํ๋ฏ์ด npm์ผ๋ก ๋์๊ฐ๋ ๊ฒ์ด ์ ์๊ฒ
npm yarn install
์ฑ๊ณต์ ์ผ๋ก ์ค์น ํ ํ 404 Not Found
์ ๊ณต์ ์ค์งํ์ต๋๋ค.
๋๋ ๋ฌด์จ ์ผ์ด ์ผ์ด ๋ฌ๋์ง, ์ด๋ป๊ฒ ๊ณ ์ณ ์ก๋์ง ์ ํ ๋ชจ๋ฅธ๋ค.
์ด ๋ฌธ์ ๋ฅผ ๊ณ์ ์ฃผ์ํ๊ฒ ์ต๋๋ค. ๋๊ตฐ๊ฐ๊ฐ์ด ์์๊ป๋ผ๋ฅผ ํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋ฒ ์คํธ,
Pgergov
์ด ๋ฌธ์ ๋ Codeship ๋น๋์์ ๋ฌด์์๋ก ๋ฐ์ํฉ๋๋ค. ๊ทธ ์์ธ์ด ๋ ์ง์ ์ด๋ ์์ด๋์ด๊ฐ ์์ต๋๊น?
์๋
ํ์ธ์, 0.27.5์์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์๋ค๋ ์ฌ์ค์ ์ฌ๋ฌ๋ถ๊ณผ ๊ณต์ ํ๊ณ ์ถ์์ต๋๋ค. ์ฐธ๊ณ : https://github.com/yarnpkg/yarn/issues/3765
์ด ๋ฌธ์ ๋ ์ด์ ์ข
๊ฒฐ ๋ ์ ์์ต๋๋ค.
ํ๋ก์ฐ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค,
์ค๋๋์ด ๋ฌธ์ ๊ฐ์์์ต๋๋ค. ๋ ์ง์คํธ๋ฆฌ๋ฅผ github tarball URL๋ก ๋ณ๊ฒฝํ์ต๋๋ค. npmjs URL์ด ๋ฌด์์ธ์ง ์ฐพ์ ์ ์์ด์ ์ฌ๊ธฐ์์๋ Github๋ฅผ ์ฌ์ฉํด ๋ณด์์ต๋๋ค.
https://github.com/{USER}/{REPO}/tarball/{BRANCH}
๋๊ตฐ๊ฐ๊ฐ ์ ์ ๊ฐ์ ๋ฌธ์ ๊ฐ์์ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ ์ฌ๊ธฐ์ ๋ฃ์ต๋๋ค.
์ต์ ๋ฒ์ 0.27.5์ ๋๋ค. ๋ํ Request failed 404 Not Found yarn ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ฒ์ ์ 0.27.3์ผ๋ก ๋ค์ด ๊ทธ๋ ์ด๋ํ๋ฉด ์๋ํฉ๋๋ค.
@panalbish๋ 0.28.2 ๋ฅผ ์๋ํ๊ฑฐ๋ ์ธ์ฆ ํ ํฐ์ ์ ๋ฐ์ดํธํ์ฌ ์๋ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
@panalbish ์ ์
@BYK 0.28.2์ 0.28.4๋ฅผ ์๋ํ์ง๋ง ๋ ๋ค ์คํจํ์ต๋๋ค. github์์ ์ฝ๋๋ฅผ ๋ค์ด๋ก๋ํ๋ ค๊ณ ํ ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
yarn install v0.27.5
warning package.json: No license field
warning [email protected]: No license field
[1/4] Resolving packages...
[2/4] Fetching packages...
error An unexpected error occurred: "https://codeload.github.com/soda0289/typescript-eslint-parser/tar.gz/840978a594dd659cfa2b40d8672ce7a742864623: Request failed \"404 Not Found\"".
๋ด๊ฐ ์ถ์ธกํด์ผํ๋ค๋ฉด 404๋ฅผ ์ ๋ฐํ๋ github ๋๋ฉ์ธ์ ์ธ์ฆ ํ ํฐ์ ๋ณด๋ด๋ ๊ฒ์ผ ์ ์์ต๋๋ค. ์ค๋ ๋ฐค ๋ ์์ธํ ์ดํด ๋ณด๊ฒ ์ต๋๋ค.
์ด ๋ฌธ์ ๊ฐ ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ๋ ๊ฒ ๊ฐ์ต๋๋ค.
https://github.com/yarnpkg/yarn/issues/3907
# 3907๊ณผ ์ค๋ณต๋ฉ๋๋ค.
yarn
(๋๋ yarn install
) ๋ช
๋ น์ ์คํํ๊ธฐ ์ ์ yarn.lock
๋ฅผ ์ ๊ฑฐํ๋ฉด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
yarn (๋๋ yarn install) ๋ช ๋ น์ ์คํํ๊ธฐ ์ ์ yarn.lock์ ์ ๊ฑฐํ๋ฉด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ์์ฌ ์ฌ์ฉ์ ์์ ํ ์ค๋จํด์ผํฉ๋๋ค. yarn.lock ํ์ผ์ "์ฌํ ๊ฐ๋ฅํ ๋น๋"๋ฅผ ๋ณด์ฅํ๋ ํ์ผ์ ๋๋ค. ๋น์ ์ ๊ทธ๊ฒ์ ์ญ์ ํ๊ณ ์ถ์ง ์์ต๋๋ค.
์ข์, ์ง์ ํด. ๋ด๊ฐ ์ฌ์ฉํ๋ ค๋ ์์ฉ ํ๋ก๊ทธ๋จ ์์ฒด์ ๋ฌ๋ ค ์์ต๋๋ค.
Btw๋ ๋น๋ ์์ฒด์ package.json
์ถฉ๋ถํ์ง ์์์ผํฉ๋๊น?
๊ธฐ์ ์ ์ผ๋ก ๊ทธ๋ ์ต๋๋ค. ์ ๊ธ ํ์ผ์ ํ์ ๋ค๋ฅธ ๋ชจ๋ ์ฌ๋๊ณผ ๋์ผํ ๋ฒ์ ์ ์ฌ์ฉํ๋๋ก ๋ณด์ฅํฉ๋๋ค. ์ด๋ค ์ด์ ๋ก ๋ ์๊ดํ์ง ์๋ ๊ฒฝ์ฐ ์ ๊ธ ํ์ผ์ ์ ๊ฑฐํ๋ฉด Yarn์ด ์ฒ์๋ถํฐ ์ ํ์ผ์ ์์ฑํฉ๋๋ค.
์ฆ, ์ฌ๊ธฐ์์ ์ถ์ ํ๋ ํญ๋ชฉ์ด ๊ตฌ์ฑ ๋งค๊ฐ ๋ณ์์ ๊ด๋ จ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์๋์ง ๊ถ๊ธํฉ๋๋ค. ์ ๊ธ ํ์ผ์ด ๊ทธ ์ดํ๋ก ์ ๊ฑฐ ๋ URL์ ์ฐธ์กฐํ๊ณ ์์์๊น์? ๊ฐ์ ํธ์๋ฅผ ํตํด ์ญ์ ๋ git ์ปค๋ฐ์ผ๊น์?
์ด๊ฒ์ ๋ด๊ฐ ์ป์ ์ค์ ๋ฉ์์ง์ ๋๋ค.
vagrant @ homestead : ~ / Projects / l5b.dev $ ์์ฌ
์์ฌ ์ค์น v0.27.5
[1/4] ํจํค์ง ํด๊ฒฐ ์ค ...
[2/4] ํจํค์ง ๊ฐ์ ธ ์ค๋ ์ค ...
error ์๊ธฐ์น ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. " https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.7.0.tgz : ์์ฒญ ์คํจ"404 Not Found ""
Laravel ์ ํ๋ฆฌ์ผ์ด์ ์ธ ์ ์ฅ์ ์ค์น๋ฅผ ๋ค์ ์๋ํ์ต๋๋ค ( ์ค์น ๋จ๊ณ ). npm์ localhost (vagrant)์ ์จ๋ผ์ธ ๋ชจ๋์์ ์ ์๋ํ์ง๋ง yarn์ ํด๋น ์ค๋ฅ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
๋ ์ด์ ๊ฒ์ํ์ง ๋ง์ญ์์ค.
npm์์๋ ์ด์ด ์์ต๋๋ค.
์๋ง๋ ์นํฉ ์กฐ์ง์ ์ฌ๋ฌ๋ถ์ด์ด ๋ฆด๋ฆฌ์ค๋ฅผ ์ค์น ํ ํ ํด์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ ๊ฒ์ ๋๋ค.
ํ , npm install
์ค์น๊ฐ ์๋ฃ๋์์ง๋ง ๊ฒฝ๊ณ ๊ฐ ๋ง์ด ๋ฐ์ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ฒฝ๊ณ ๋ ์ค๋ฅ๊ฐ ์๋๋๋ค.
๋๋ ์ฌ์ ํ ์ด๋ฌํ JS ๊ฒ๋ค์ ์ก์ผ๋ ค๊ณ ๋
ธ๋ ฅํ๊ณ ์์ต๋๋ค. ์ ๋ jQuery ์๋์ ์์ ์๋๋ฅผ ๋์ฌ์ผํฉ๋๋ค.
์ข์, ์ง์ ํด. ๋ด๊ฐ ์ฌ์ฉํ๋ ค๋ ์์ฉ ํ๋ก๊ทธ๋จ ์์ฒด์ ๋ฌ๋ ค ์์ต๋๋ค.
๋๋ ๋ถ์พํ์ง ์๋ค๋ ๋ป์ด ์๋๋๋ค. ์ฐ์ ๊ฒ์ด ์์ผ๋ฉด ์ฃ์กํฉ๋๋ค.
Btw๋ package.json์ด ๋น๋ ์์ฒด์ ์ถฉ๋ถํ์ง ์์์ผํฉ๋๊น?
https://www.sitepoint.com/yarn-vs-npm/ ์ ์ฝ๊ณ ๊ฐ์ฅ ํฅ๋ฏธ๋ก์ด ๋จ๋ฝ์ ๊ฐ์กฐํ๊ฒ ์ต๋๋ค.
yarn.lock ํ์ผ
npm๊ณผ Yarn์ด ํ๋ก์ ํธ์ ์ข ์์ฑ์ ์ถ์ ํ๋ ํ์ผ ์ธ package.json์์ ๋ฒ์ ๋ฒํธ๊ฐ ํญ์ ์ ํํ ๊ฒ์ ์๋๋๋ค. ๋์ ๋ค์ํ ๋ฒ์ ์ ์ ์ ํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒํ๋ฉด ํจํค์ง์ ํน์ ์ฃผ ๋ฒ์ ๊ณผ ๋ถ ๋ฒ์ ์ ์ ํํ ์ ์์ง๋ง npm์์ ์ผ๋ถ ๋ฒ๊ทธ๋ฅผ ์์ ํ ์์๋ ์ต์ ํจ์น๋ฅผ ์ค์นํ ์ ์์ต๋๋ค.
์๋ฏธ ๋ก ์ ๋ฒ์ ๊ด๋ฆฌ์ ์ด์์ ์ธ ์ธ๊ณ์์ ํจ์น ๋ ๋ฆด๋ฆฌ์ค์๋ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ํฌํจ๋์ง ์์ต๋๋ค. ๋ถํํ๋ ์ด๊ฒ์ ํญ์ ์ฌ์ค์ด ์๋๋๋ค. npm์์ ์ฌ์ฉํ๋ ์ ๋ต์ ๋์ผํ package.json ํ์ผ์ ๊ฐ์ง ๋ ๋์ ์์คํ ์ ๋ค๋ฅธ ๋ฒ์ ์ ํจํค์ง๊ฐ ์ค์น๋์ด ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
ํจํค์ง ๋ฒ์ ๋ถ์ผ์น๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์ ํํ ์ค์น๋ ๋ฒ์ ์ด ์ ๊ธ ํ์ผ์ ๊ณ ์ ๋ฉ๋๋ค. ๋ชจ๋์ด ์ถ๊ฐ ๋ ๋๋ง๋ค Yarn์ yarn.lock ํ์ผ์ ์์ฑ (๋๋ ์ ๋ฐ์ดํธ)ํฉ๋๋ค. ์ด๋ ๊ฒํ๋ฉด package.json์ ์ ์ ๋ ํ์ฉ ๋ ๋ฒ์ ์ ๋ฒ์๋ฅผ ์ ์งํ๋ฉด์ ๋ค๋ฅธ ์์คํ ์ด ๋๊ฐ์ ํจํค์ง๋ฅผ ์ค์นํ๋๋ก ๋ณด์ฅ ํ ์ ์์ต๋๋ค.
npm์์ npm shrinkwrap ๋ช ๋ น์ ์ ๊ธ ํ์ผ๋ ์์ฑํ๊ณ npm install์ Yarn์ด yarn.lock์ ๋จผ์ ์ฝ๋ ๋ฐฉ์๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก package.json์ ์ฝ๊ธฐ ์ ์ ํด๋น ํ์ผ์ ์ฝ์ต๋๋ค. ์ฌ๊ธฐ์ ์ค์ํ ์ฐจ์ด์ ์ Yarn์ ํญ์ yarn.lock์ ๋ง๋ค๊ณ ์ ๋ฐ์ดํธํ๋ ๋ฐ๋ฉด, npm์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋๋ฅผ ์์ฑํ์ง ์๊ณ npm-shrinkwrap.json์ด ์กด์ฌํ ๋๋ง ์ ๋ฐ์ดํธํ๋ค๋ ๊ฒ์ ๋๋ค.
๋น์ ์ด ๋น๋ "์์"ํผํ ๋ฒ์ ์ ๋ฌ์, ๋์ ์ ์ ๊ฑฐ์ ๋ํ ์๊ด ์์ด ๊ทธ๋์ ๊ฒฝ์ฐ yarn.lock
ํ์ผ์ ์คํ yarn
๋น์ ์ ์ฅ์์ ํ์ผ์๋๊ณ ์ฌ์ฉํด์ผํฉ๋๋ค npm install
( yarn.lock
ํ์ผ ๋ฌด์)
ํ๋ก์ ํธ๊ฐ ์จ๋ผ์ธ ์ด๋๊ฐ์ ์์ต๋๊น?
@Tpojka ๋ yarn.lock
ํ์ผ๊ณผ node_modules
๋ก์ปฌ (!)์ ์ ๊ฑฐํ ๋ค์ ๋ก์ปฌ์์ yarn
๋ฅผ ์คํํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ yarn.lock
ํ์ผ์ ์ปค๋ฐํ๊ณ ๋์์ด๋๋์ง ํ์ธํฉ๋๋ค.
๋ฐฐ๊ฒฝ : ์ด๋ ๊ฒํ๋ฉด ๋๋ฝ ๋ ํจํค์ง์ ๊ณ ์ ๋ ๋ฒ์ ์ด package.json
์ ์ ๋ ๋ฒ์ ๋ฒ์์ ์ฌ์ ํ ํธํ๋๋ ์ต์ ๋ฒ์ ์ผ๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค. ํ์ฌ yarn.lock
๊ณ ์ ๋ ํญ๋ชฉ์ด ๊ฒ์ ์ทจ์ ๋ ๊ฒฝ์ฐ ์ ํญ๋ชฉ์ด ๊ฑฐ๊ธฐ์ ์์ด์ผํฉ๋๋ค.
์, ์ ๋์ด ์ด์ํ ๋ฌธ์ ๋๋ฌธ์ ์ค๋ซ๋์ ์์ฌ 0.18์ ์ฌ์ฉํด ์์ผ๋ฉฐ yarn.lock์ ํ ๋ฒ ์ ๊ฑฐ-์ฌ์ฐฝ์กฐํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋์ ์ด๋ป๊ฒ ๋ ๋ด๊ฐ ์ ์์๋ ํ ์ค๋๋ ์์ฌ ๋ฒ์ ์ ์ ๊ธ ํ์ผ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
@sottbessler ๋ถํํ๋ ์ด๊ฒ์ ๋ฌด์์๋ก ๋ณด์ ๋๋ค. ๋๋ก๋ yarn.lock์ ์ ๊ฑฐ๊ฐ ์๋ํ์ง๋ง ๋๋ก๋ ์๋ํ์ง ์์ต๋๋ค. ๋ญ๊ฐ ์ด์ํ ์ผ์ด ๋ฒ์ด์ง๊ณ ์์ต๋๋ค. ํจํค์ง๋ฅผ ํ์ธํ ์ ์์ง๋ง (๋ค์ด๋ก๋ ํ ๋ฒ์ ์ ์๊ณ ์์ผ๋ฏ๋ก) tar ํ์ผ์ 404์ ๋๋ค.
์ด ๋ฌธ์ ์ ์ง๋ฉดํ์ฌ Mac ์ปดํจํฐ์์๋ ์๋ํ์ง๋ง ์๋ฒ์์๋ ์๋ํ์ง ์์์ต๋๋ค.
https://github.com/yarnpkg/yarn/issues/3765#issuecomment -327890328 ๋ฐ https://github.com/yarnpkg๋ฅผ ๋ฐ๋ผ yarn v1.0.1 (๋ก์ปฌ, CI ๋ฐ Heroku ๋น๋ ํฉ)์์ ์๋ํฉ๋๋ค.
always-auth=true
https://registry.npmjs.org/:_authToken=${NPM_TOKEN}
์ฌ๊ธฐ์ ์ฌ์ ํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
.npmrc
ํ์ผ์ always-auth=true
์ (๋ฅผ) ์ถ๊ฐํ๋ ค๊ณ ํ์ต๋๋ค. ๋ํ //registry.npmjs.org/:_authToken=...
์์ ๋ช
์์ ์ธ https:
๋ฅผ ์ถ๊ฐํด ๋ณด์์ต๋๋ค. ๊ทธ๊ฒ๋ ์ฐจ์ด๋ฅผ ๋ง๋ค์ง ์์์ต๋๋ค.
Yarn 0.27.3
์์๋ ์ ์๋ํ์ง๋ง 1.0.0
+ ๋ชจ๋ ๊ฒ์๋์ด ๋ฌธ์ ๊ฐ์๋ ๊ฒ ๊ฐ์ต๋๋ค (ํ์ฌ yarn 1.2.1
).
์ฌ๊ธฐ์ ๋ญ๊ฐ ๋น ์ก๋์?
.npmrc
์ ์ธํ๊ณ //registry.npmjs.org/:_authToken=${NPM_TOKEN}
.npmrc
์์ ๋ชจ๋ ํญ๋ชฉ์ ์ ๊ฑฐํ์ญ์์ค. ์ด๊ฒ์ yarn 1.0.0+์์ ๊ฐ์ธ @ ๋ฒ์ ํจํค์ง (Unix / Windows / OSX)๋ฅผ ์ฌ์ฉํ์ฌ ์ง์์ ์ผ๋ก ์๋ํ๋ ์ ์ผํ ๊ฒ์
๋๋ค.
@pleunv ๊ฐ์ฌํฉ๋๋ค! Yarn 1.3.2
์ฌ์ฉํ์ฌ ์ ์๊ฒ ํจ๊ณผ์ ์ด์ง๋ง์ด ๋ช
๋ น๋ ์คํ ํ ๊ฒฝ์ฐ ์๋ง :
yarn config set registry https://registry.npmjs.org
๋ด ์ธ์์ ๊ธฐ๋ณธ Yarn ๋ ์ง์คํธ๋ฆฌ๊ฐ npmjs.org์ ํ๋ก์๋ผ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ์ด๊ฒ์ด ์ ํ์ํ์ง ์ ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ ๊ฒฝ์ฐ์๋ ์ ๋์ ์ผ๋ก ๊ทธ๋ ์ต๋๋ค (ํ ์คํธ๋ฅผ ๊ฑฐ์น๊ฑฐ๋ ์ ์ธ).
๋ ๋ง์ ์ฌ๋๋ค์ด ์ด๊ฒ์ ๋ฌธ์ ๊ฐ ์๋ค๋ ๊ฒ์ ๋ฏฟ์ ์ ์์ต๋๋ค. ๋๋ ๋ชจ๋ ๋น ์คํ ์์ค ํ๋ก์ ํธ๊ฐ ์ด๊ฒ์ ๊ฑธ๋ ค ๋์ด ์ง ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ ๊ฒ์ ๋๋ค.?!?
๋๋ ๋ฐฐํฌ ( ์ฆ, ๋น๋๋ฅผ ์ํํ๋ Dockerfile
๋ด๋ถ)์์๋ง ์ด๊ฒ์ ํ
์คํธํ์ต๋๋ค. ๊ณง ์ ๊ฐ๋ฐ ๋จธ์ ์์ ์๋ํด ๋ณผ ๊ฒ์
๋๋ค (์ค๋ ์์นจ์ด ๋ฌธ์ ๋ฅผ ํ์
ํ๊ธฐ ์ํด ํ ์๊ฐ ์ด์์ด ๋ค์์ต๋๋ค ๐ข).
@pleunv @xogeny ์ด ๋ฌธ์ ๋ฅผ ํ ๋ฒ์ ํด๊ฒฐํ ์ ์๋๋ก ์์ ์ฌํ ์ฌ๋ก๋ฅผ ์ ๊ณตํด ์ฃผ์๊ฒ ์ต๋๊น? ์ฐ๋ฆฌ๋ฅผ ์ํด ์ด๊ฒ์ ์ถ์ ํ๋ ๊ฒ์ ๋งค์ฐ ์ด๋ ต์ต๋๋ค.
@BYK๊ฐ ๋๋ฝ๋์ง ์๋ ํ ์ด๋ฌํ ํ
์คํธ ์ฌ๋ก๋ ํ์์ ๋ฐ๋ผ ๊ฐ์ธ ์ ์ฅ์๊ฐ ํ์ํ๋ฉฐ yarn
์ ์ฑ๊ณต์ ์ผ๋ก ํ
์คํธํ๋ ค๋ฉด ์ผ์ข
์ ๊ฐ์ธ ์ก์ธ์ค ํ ํฐ์ ๊ณต์ ํด์ผํฉ๋๋ค. ๊ธฐ๊ปํด์ผ ์ด์ํด ๋ณด์
๋๋ค.
๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ Yarn ํ๋ก์ ํธ ์์ฒด๊ฐ (์ ๋ ดํ๊ณ ์ต์ํ์ ์กฐ์ง ๊ณ์ ์ ํตํด) ์ผ๋ถ ๊ฐ์ธ ์ ์ฅ์๋ฅผ ์ค์ ํ์ฌ CircleCI ๋๋ ๋ก์ปฌ dev /๋ฅผ ํตํด ํ๊ฒฝ ๋ณ์๋ฅผ ํตํด ์ก์ธ์ค ํ ํฐ์ ์ ๊ณตํ์ฌ ์ด๋ฌํ ํ ์คํธ๋ฅผ ์ํ ํ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค. ํ ์คํธ ํ๊ฒฝ. ์ด๋ ๊ฒํ๋ฉด ํ ํฐ์ด๋๊ณ ๋ค๋ฅธ ์ฌ๋๊ณผ ๊ณต์ ํ ํ์๊ฐ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋๋ ๋ค๋ฅธ ์ ์์ ์ด๋ ค ์์ต๋๋ค. ๋๋ ๋ฌผ๊ฑด์ ์ ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ ๋ชจ๋ฆ ๋๋ค.
์, ๊ฐ์ธ์ฉ ๋ฒ์๋ก ์ธํด ์ฌํ์ ์ ๊ณตํ๊ธฐ๊ฐ ์ฝ๊ฐ ์ด๋ ต์ต๋๋ค. ์ด๋ ์ชฝ์ด๋ , ์ฐ๋ฆฌ๋ ๊ธฐ๋ณธ nodeJS ๋์ปค ์ปจํ ์ด๋์ ๋น๊ณต๊ฐ ๋ฒ์ ํจํค์ง์ ํจ๊ป CI์ ์ด๊ฒ์ ๊ฐ์ง๊ณ ์์์ต๋๋ค.
@BYK ํจ๊ป ์ ๊ณต๋๋ repro-repo์ ํจ๊ป Bintray npm ์ ์ฅ์์ ํ๊ฐํ์ ์ค์ ํ๊ณ ๋์์ด ๋ ๊ฒฝ์ฐ ๋ฉ์ผ๋ก ์ก์ธ์ค ํค๋ฅผ ๋ณด๋ผ ์ ์์ต๋๋ค.
@SpainTrain ๊ณ ๋ง์์, ์ค์
always-auth=true
<strong i="7">@scope</strong>:always-auth=true
์๋จ์ .npmrc
ํจ๊ป ๊ณ ์ yarn v1.3.2
๋ด๊ฐ ์
๋ฐ์ดํธ ํ ๋ ๋ด ์ํฉ์์, ๋ฌธ์ ๋ ๋๋ง ๊ฐ์ด์ yarn.lock
๋น๊ณต๊ฐ๋ก ํจํค์ง๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด npmjs.com
๋์ yarnpkg.com
๊ฐ์๋ฅผ -
"@myco/pak1@>=0.0.8":
version "0.0.11"
resolved "https://registry.yarnpkg.com/@myco/pak1/-/pak1-0.0.11.tgz#8b5c53bd7378d7f00554fd4813ad9d332d0d87dc"
^^^^^^^ change this
resolved "https://registry.npmjs.com/@myco/pak1/-/pak1-0.0.11.tgz#8b5c53bd7378d7f00554fd4813ad9d332d0d87dc"
dependencies:
lodash "4.*"
์ด ์๋ฃจ์ ์ค ์ด๋ ๊ฒ๋ ๋๋ฅผ ์ํด ์ผํ์ง ์์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ฐ์ธ ํจํค์ง๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋จ์ง ๊ณต์ฉ ํจํค์ง์ ๊ณต์ฉ ํฌํฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. yarn.lock์ npmjs.com์ ์ฐธ์กฐํ๋๋ก ๋ณ๊ฒฝํ๊ณ yarn-install ๋จ๊ณ ์ ์ yarn ๋ ์ง์คํธ๋ฆฌ ์ค์ ์ ์ฌ์ฉํ์ต๋๋ค.
CircleCI๋ ์ด๋ค ์ด์ ๋ก ์ ์ค์น ๋จ๊ณ์์ "์ฝ๋๋ก๋"github URL์์ ๊ฐํ์ ์ผ๋ก 404๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
๋ํ @xogeny๊ฐ ์ ์ํ๋๋ก yarn config set registry https://registry.npmjs.org
๋ฅผ ์คํ ํ ํ yarn add @org/priv-module
๊ฐ ๋ ์ด์ 404s๊ฐ ์๋๊ณ ํจํค์ง๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์นํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ํฅ๋ฏธ๋ก์ด ๋ถ๋ถ์ด ์์ต๋๋ค. ์๋ ๋ ์ง์คํธ๋ฆฌ ( yarn config set registry https://registry.yarnpkg.com
)๋ก ๋ค์ ์ ํํ๊ณ rm -rf *; yarn cache clean
๋ฐ yarn add @org/priv-module
๋ค์ ์ํํ์ต๋๋ค. ๋ ์ด์ 404๋ฅผ ์ฌํ ํ ์ ์์ต๋๋ค. ์ฆ ์ค์น๋จ ๋ฐ๋ฅด๊ฒ. ๋๋ ๋ด๊ฐ ์ฌ๊ธฐ์ ๋ฏธ์ณค๋ค๊ณ ํ์ ํ๋ค. yarn add @org/priv-module
๋ ์ฒ์์ 404๋ฅผํ๋ค.
registry.yarnpkg.com
ํ๋ก์๋ registry.npmjs.org
์ ํํ ์ด๋ป๊ฒํฉ๋๊น? ์ฑ๊ณต์ ์ธ ๊ฐ์ ธ ์ค๊ธฐ ํ ์ผ๋ถ ์บ์๊ฐ ์ฑ์์ง ๊ฒ ๊ฐ์ต๋๊น?
์ ๋ macOS 10.13.2์์ v1.3.4
๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ .npmrc
๋ ํ๋ฒํ 'ol //registry.npmjs.org/:_authToken={auth token}
์ฌ๊ธฐ์๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ค์์ TravisCI์ ๋ก๊ทธ์ ๋๋ค.
$ node --version
v8.9.4
$ npm --version
5.6.0
$ nvm --version
0.33.8
before_install.1
0.42s$ yarn config set registry https://registry.npmjs.org
yarn config v1.3.2
success Set "registry" to "https://registry.npmjs.org".
before_install.2
0.43s$ yarn cache clean
yarn cache v1.3.2
success Cleared cache.
$ yarn
yarn install v1.3.2
[1/4] Resolving packages...
[2/4] Fetching packages...
error An unexpected error occurred: "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz: Request failed \"404 Not Found\"".
info If you think this is a bug, please open a bug report with the information provided in "/home/travis/build/grundiss/contenter/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
์ฌ๋ฏธ์๋ ์ : ๋ก์ปฌ์์ ๋ชจ๋ ๊ฒ์ด ์ ์๋ํฉ๋๋ค.
์๋ฃ๋ฅผ ์ํด ์ฌ๊ธฐ์ ๋ช ๊ฐ์ง ์คํจํ circleci ๋น๋๊ฐ ์์ผ๋ฉฐ 404 ํจํค์ง๊ฐ ํญ์ ๋์ผํ์ง๋ ์์ต๋๋ค.
https://circleci.com/gh/EnoahNetzach/gnodsidfjgi/5
https://circleci.com/gh/EnoahNetzach/gnodsidfjgi/7
์ด ์ง์นจ ์ ๋ฐ๋ฅด๊ณ ์คํ๋ผ์ธ ๋ฏธ๋ฌ๋ฅผ ๋ง๋ค์ด ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง๋ง, ์ด๊ฒ์ ํ์คํ ๋๊ตฌ์๊ฒ๋ ๊ฐ ์์๋ ๋ฐฉ๋ฒ์ด ์๋๋๋ค.
์. ๋ด ๋ฌธ์ ๋์ด ๋ฌธ์ ์ ์ผ๋ถ๊ฐ ์๋๋ผ ๋ ์ธ๊ณ์ ์ธ ๋ฌธ์ ์ ์ผ๋ถ์ธ ๊ฒ์ผ๋ก ๋ฐํ์ก์ต๋๋ค : https://github.com/floatdrop/pinkie/issues/18
์ ์ฅ, ์ด์ ์ฐ๋ฆฌ๋์ด ๋ฌธ์ ๋ฅผ ์์ํ์ต๋๋ค. ๊ฐ์ธ์ฉ ๋ฒ์ ํจํค์ง. ๋ฌด์์ ์ฌ์-๋๋ก๋ ์๋ํ์ง๋ง (์ผ๋ถ ๋ฒ์ ์์๋) ์๋ํ์ง ์๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
ํ๋ก์ ํธ์์์ด ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค. URL์ ์๋์ผ๋ก ์ ๋ ฅ ํ ๋ 404๋ฅผ ์ป์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ๊ธฐ์ดํฉ๋๋ค.
Trace:
Error: https://codeload.github.com/types/npm-v8flags/tar.gz/de224ae1cd5fd7dbb4e7158a6cc7a29e5315930d: Request failed "404 Not Found"
at Request.handleRequestError (C:\Users\stewx\AppData\Roaming\nvm\v6.10.0\node_modules\yarn\lib\fetchers\tarball-fetcher.js:203:20)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at Request.onRequestResponse (C:\Users\stewx\AppData\Roaming\nvm\v6.10.0\node_modules\yarn\node_modules\request\request.js:1068:10)
at emitOne (events.js:96:13)
at ClientRequest.emit (events.js:188:7)
at HTTPParser.parserOnIncomingClient (_http_client.js:474:21)
at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23)
at TLSSocket.socketOnData (_http_client.js:363:20)
at emitOne (events.js:96:13)
์ฐ๋ฆฌ๋ URL์ ์ฝ๊ฐ ์ ํํ์ฌ ์ด์ ๊ฐ์ ๋ชจ๋ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. tar / gz๋ฅผ ํผํ๊ณ tarball์ ์ฌ์ฉํ์ญ์์ค.
"package_name":"https://github.com/somebody/package_name/tarball/master"
ํจํค์ง๊ฐ npmjs.org์์ ๋น๊ณต๊ฐ๋ก ํธ์คํ
๋๋ ๊ฒฝ์ฐ .npmrc์์ <strong i="5">@scope</strong>:registry=https://registry.npmjs.org/
์ค์ ์ ๊ฑฐํ๋ฉด ๋์์ด๋์์ต๋๋ค. ์๋ง๋ ์ด๊ฒ์ yarnpkg๊ฐ npmjs.org์ CDN์ด๋๋ ๋ฌธ์ ๋๋ฌธ์ผ ๊ฒ์
๋๋ค.
๋๋ ์ค๋ ์ด๊ฒ์ ์ ์ํ๊ณ ์๋ค
error An unexpected error occurred: โhttps://registry.yarnpkg.com/@types/webpack/-/webpack-3.8.10.tgz: Request failed \โ404 Not Found\โโ.
๊ฐ์ธ ์ ์ฅ์๊ฐ ์๋๋๋ค :(
๋๋ฅผ ์ํด +1. ์ค๋๋ ๊ฒฝํํ๊ธฐ ์์ํ์ต๋๋ค. CI์ ์นํฉ์ ์ค์นํ๋ ค๊ณ ํฉ๋๋ค.
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ์ต๊ทผ ์๋
error An unexpected error occurred: "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.1.1.tgz: Request failed \"404 Not Found\"".
https://github.com/yarnpkg/yarn/issues/5530 ์์ ๋ ผ์๋๊ณ
์ ๊ฒฝ์ฐ์๋ ํน์ ๋ฒ์์ ๋ํ ๊ฐ์ธ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ ์ํ ๋ก์ปฌ .npmrc
๊ฐ ์์๋๋ฐ ํ์ผ ๋งจ ์์ registry=https://registry.npmjs.org/
์ถ๊ฐํ๋ฉด๋์์ต๋๋ค. ๋ฅผ ์ผ๊ธฐํ๋:
# .npmrc
registry=https://registry.npmjs.org/
<strong i="8">@acme</strong>:registry=https://acme.jfrog.io/acme/api/npm/npm/
//acme.jfrog.io/acme/api/npm/npm/:_auth=YYYYYYYYYYYYYYYYYYYYYYYYYY
//acme.jfrog.io/acme/api/npm/npm/:username=username
//acme.jfrog.io/acme/api/npm/npm/:[email protected]
//acme.jfrog.io/acme/api/npm/npm/:always-auth=true
CircleCI์ ํจ๊ป ์์ ํ๋ฉด ์์ฌ ์ค์น์ ํจ๊ป 404๊ฐ ์์ต๋๋ค.
yarn.lock ์ ๊ฑฐ
์ด๊ฒ์ ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค. ์ข ๋ ํ๋ค๊ฐ ์ค ์๋ฌผ์ ์ ์๋ชป๋ URL์ด ์์์ ๋ฐ๊ฒฌํ์ต๋๋ค.
์์ฌ ์ ๊ธ์ CircleCI์์ 404'd (๋ก์ปฌ์์ ์๋ํ๋ ์ด์ ๊ฐ ์์)ํ๋ registry.yarnpkg.com์ ์ฌ์ฉํ์ต๋๋ค.
ํธ๋ฆญ์ ์ํ ํ ๊ฒฐ๊ณผ ๊ตฌ์ฑ :
- run: echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc
- run: yarn config set registry https://registry.npmjs.org/
- run: yarn
๊ฐ์ฌํฉ๋๋ค. ์ ๋ yarn.lock์ ์ญ์ ํ์ฌ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
๋๋ฅผ ์ํด ์คํจํ ๋ช
๋ น์ yarn add gatsby-plugin-react-helmet react-helmet
์
๋๋ค.
yarn upgrade
(ํธ๊ธฐ์ฌ์ผ๋ก ์๋)๋ฅผ ์คํํ ์ ์์๊ณ ์์ ๋ช
๋ น์ด ์๋ํ์ต๋๋ค. ๊ทธ ์ด์ ๋ ํ์คํ์ง ์์ง๋ง ๋๊ตฐ๊ฐ๊ฐ ์ค๋ช
ํด์ฃผ๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
์์ฌ ์ ์ฅ์์์ ์ข ์์ฑ์ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ npm์ด ํ์ํ ์ ์์ต๋๋ค.
์์ฌ + CI + ์ฌ๋ฃ์ ๋์ผํ ๋ฌธ์ ๊ฐ ์์
yarn install v1.22.4
[1/4] Resolving packages...
[2/4] Fetching packages...
error An unexpected error occurred: "https://registry.yarnpkg.com/@material-ui/core/-/core-4.11.0.tgz: Request failed \"404 Not Found\"".
info If you think this is a bug, please open a bug report with the information provided in "/builds/springs-apps/flopanda/flopanda-front-end/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๊ฐ์ฌํฉ๋๋ค. ์ ๋ yarn.lock์ ์ญ์ ํ์ฌ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.