Yarn: ์ข…์†์„ฑ ์—ฐ๊ฒฐ์— ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2016๋…„ 10์›” 27์ผ  ยท  73์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: yarnpkg/yarn

_feature_๋ฅผ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ _bug_๋ฅผ ์‹ ๊ณ  ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
๊ณค์ถฉ
ํ˜„์žฌ ํ–‰๋™์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
์ข…์†์„ฑ์„ ์„ค์น˜ํ•  ๋•Œ ์„ธ ๋ฒˆ์งธ ๋‹จ๊ณ„ : linking dependencies ๋Š” ๋‹จ์ผ ํŒจํ‚ค์ง€์˜ ๊ฒฝ์šฐ์—๋„ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.
ํ˜„์žฌ ๋™์ž‘์ด ๋ฒ„๊ทธ ์ธ ๊ฒฝ์šฐ ์žฌํ˜„ ๋‹จ๊ณ„๋ฅผ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค.

์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

node.js, yarn ๋ฐ ์šด์˜ ์ฒด์ œ ๋ฒ„์ „์„ ์–ธ๊ธ‰ํ•˜์‹ญ์‹œ์˜ค.
๋…ธ๋“œ : 6.7.0
์šด์˜์ฒด์ œ : Windows 10

cat-performance os-windows triaged

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

๋ฐ”์ด๋Ÿฌ์Šค ๋ฐฑ์‹  ์Šค์บ๋„ˆ๋ฅผ ์„ค์น˜ํ•˜์ง€ ์•Š๊ณ  Mac์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ„๋‹จํ•œ angular-js ์•ฑ์œผ๋กœ๋„ ์ƒ๋‹นํ•œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ์—ฐ๊ฒฐ์— ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋‚˜๋Š” Windows 10์˜ https://github.com/macdja38/pvpsite/blob/master/package.json ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐ ์ข…์†์„ฑ์ด 200 ์ดˆ ์ด์ƒ ๊ฑธ๋ฆฌ๊ณ  ๊ดœ์ฐฎ์€ i7์ด์žˆ๋Š” SSD๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์„ฑ๋Šฅ ๋ฌธ์ œ๋Š” Windows Defender๋กœ ์ธํ•ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณด์•ˆ์„ ์ค„์ด๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋‚˜์€ ํ•ด๊ฒฐ์ฑ…์ด ์žˆ์–ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ถ€ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋Š” ํ”„๋กœ์ ํŠธ์˜ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ์ž‘๋™ํ•œ๋‹ค๊ณ  ํ™•์ธํ–ˆ์ง€๋งŒ Windows Defender๊ฐ€ ๊ทธ๋ ‡๊ฒŒํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์•ฝ๊ฐ„ ์†์ƒ๋˜์—ˆ์œผ๋ฏ€๋กœ ํ™•์ธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์•ฝ 30 ๊ฐœ์˜ ์ข…์†์„ฑ์ด์žˆ๋Š” git repo์™€ ๊ด€๋ จํ•˜์—ฌ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
์œˆ๋„์šฐ 10
๋…ธ๋“œ v5.5.0
์›์‚ฌ 0.16.1

image

image

Windows Defender๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ์—ฐ๊ฒฐ ์‹œ๊ฐ„์ด ํฌ๊ฒŒ ๋‹จ์ถ•๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

image

์•„๋งˆ๋„์ด PR ๋กœ "ํ•ด๊ฒฐ"๋˜์–ด์•ผํ•ฉ๋‹ˆ๊นŒ?

์˜ˆ, ์•ˆํƒ€๊น๊ฒŒ๋„ ์—ฌ๊ธฐ์„œ ํ•  ์ˆ˜์žˆ๋Š” ์ผ์ด ๋งŽ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (๋ฐ”์ด๋Ÿฌ์Šค ์Šค์บ๋„ˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ์„ ์Šค์บ”ํ•˜๊ณ  npm ์—์ฝ” ์‹œ์Šคํ…œ์—๋Š” ๋งŽ์€ ์ž‘์€ ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘์€ ํŒŒ์ผ์€ ์ผ๋ฐ˜์ ์œผ๋กœ EXT4 ๋˜๋Š” ZFS์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋น„ํ•ด NTFS์—์„œ ์•ฝ๊ฐ„ ๋” ๋งŽ์€ ์˜ค๋ฒ„ ํ—ค๋“œ๋ฅผ๊ฐ€์ง‘๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฐ”์ด๋Ÿฌ์Šค ์Šค์บ๋„ˆ์— ์˜ํ•ด ์•…ํ™”๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ ‡๊ธดํ•ด๋„ Yarn์€ npm๋ณด๋‹ค _ ์—ฌ์ „ํžˆ _ ๋นจ๋ผ์•ผํ•ฉ๋‹ˆ๋‹ค. Linux ๋‚˜ Mac์—์„œ๋งŒํผ ๋น ๋ฅด์ง€๋Š” ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฐ”์ด๋Ÿฌ์Šค ๋ฐฑ์‹  ์Šค์บ๋„ˆ๋ฅผ ์„ค์น˜ํ•˜์ง€ ์•Š๊ณ  Mac์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ„๋‹จํ•œ angular-js ์•ฑ์œผ๋กœ๋„ ์ƒ๋‹นํ•œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ์—ฐ๊ฒฐ์— ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋„์ด ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ถ„ํˆฌ์—์„œ๋Š” 174 ์ดˆ๊ฐ€ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” 0.17.8 ์—์„œ 0.17.19 ์—…๊ทธ๋ ˆ์ด๋“œ ํ•œ ํ›„์— ๋งŒ โ€‹โ€‹๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”์ด๋Ÿฌ์Šค ๋ฐฑ์‹ ์ด์—†๋Š” Mac.

์ด์ƒํ•œ ์ ์€ ํŒจํ‚ค์ง€๋ฅผ ์‚ญ์ œํ•  ๋•Œ๋งˆ๋‹ค ๋งํฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋˜์ ธ์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Npm์€ ๋” ๋น ๋ฅด๊ฒŒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ๋Š” ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.

์ด package.json (Heroku์—์„œ)์œผ๋กœ ์žฌํ˜„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

{
  "name": "yarn-link-slowness",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "axios": "^0.15.3",
    "lodash": "^4.17.2",
    "react": "^15.4.1",
    "react-dom": "^15.4.1",
    "react-player": "^0.12.1",
    "react-redux": "^4.4.6",
    "react-router": "^3.0.0",
    "react-router-redux": "^4.0.7",
    "react-scripts": "^0.8.4",
    "redux": "^3.6.0",
    "redux-auth-wrapper": "^0.9.0",
    "redux-logger": "^2.7.4",
    "redux-promise-middleware": "^4.2.0",
    "redux-thunk": "^2.1.0"
  },
  "engines": {
    "node": "7.2.1",
    "yarn": "0.17.8"
  }
}

์‹ค 0.17.8์„ ์‚ฌ์šฉํ•˜๋ฉด ์„ค์น˜์— 37 ์ดˆ๊ฐ€ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ์‹ค 0.17.10์„ ์‚ฌ์šฉํ•˜๋ฉด ์„ค์น˜์— 97 ์ดˆ๊ฐ€ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์—†์Šต๋‹ˆ๋‹ค (๋งค๋ฒˆ ์ƒˆ๋กœ์šด Heroku ์•ฑ).

โœจ 45.10s ํ›„์— ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

    "autoprefixer": "6.3.6",
    "babel-core": "6.7.6",
    "babel-jest": "13.0.0",
    "babel-loader": "6.2.4",
    "babel-plugin-transform-class-properties": "6.9.1",
    "babel-plugin-transform-object-rest-spread": "6.8.0",
    "babel-preset-es2015": "6.6.0",
    "babel-preset-react": "6.5.0",
    "bluebird": "3.3.5",
    "cardmask": "github:aj0strow/cardmask#v1.0.0",
    "chai": "3.5.0",
    "classnames": "2.2.5",
    "copy-webpack-plugin": "2.1.3",
    "core-js": "2.4.1",
    "css-loader": "0.23.1",
    "enzyme": "2.3.0",
    "file-loader": "0.8.5",
    "force-case-sensitivity-webpack-plugin": "0.1.1",
    "jest": "13.0.0",
    "jest-cli": "13.0.0",
    "json-loader": "0.5.4",
    "lodash": "4.11.1",
    "moment": "2.13.0",
    "ms": "0.7.1",
    "node-sass": "3.4.2",
    "postcss-loader": "0.9.1",
    "raw-loader": "0.5.1",
    "react": "15.2.0",
    "react-addons-css-transition-group": "15.2.0",
    "react-addons-test-utils": "15.2.0",
    "react-css-transition-replace": "2.0.1",
    "react-dom": "15.0.1",
    "react-redux": "4.4.5",
    "react-router": "2.3.0",
    "react-textarea-autosize": "4.0.3",
    "recompose": "0.20.2",
    "redux": "3.5.1",
    "redux-actions": "0.10.0",
    "redux-thunk": "2.0.1",
    "reselect": "2.5.3",
    "sass-loader": "3.2.0",
    "sinon": "1.17.4",
    "style-loader": "0.13.1",
    "webpack": "1.13.0",
    "webpack-dev-server": "1.14.1",
    "whatwg-fetch": "1.0.0",
    "zxcvbn": "4.3.0"

"์ข…์†์„ฑ ์—ฐ๊ฒฐ"๋‹จ๊ณ„์—์„œ ์–€์ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์„ ์ •ํ™•ํžˆ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
์ด ๋‹จ๊ณ„์˜ ์ตœ๋Œ€ ์ˆ˜๋Š” ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์˜ ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ~ 1000์—์„œ ~ 65000๊นŒ์ง€ ๋‹ค์–‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด ์ˆซ์ž๋Š” ๋ฌด์—‡์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ?

์ด ๋ฌธ์ œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. yarn add ๋กœ ์ข…์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋ฉด "์ข…์†์„ฑ ์—ฐ๊ฒฐ"์ด ํŠธ๋ฆฌ๊ฑฐ๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋ฉฐ ์˜์›ํžˆ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ npm์œผ๋กœ ๋‹ค์‹œ ์ „ํ™˜ํ•ด์•ผํ–ˆ์Šต๋‹ˆ๋‹ค.

๋…ธ๋“œ : 6.9.2
์šด์˜์ฒด์ œ : Windows 10

๋…ธ๋“œ : 7.3.0
์šด์˜์ฒด์ œ : Windows 10 64
๋‚˜๋„ ๋งˆ์ฐฌ๊ฐ€์ง€

image

์—ฌ๊ธฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ๋งํฌ 23420 ... ๋ญ”๊ฐ€, ์ข‹์€ ๋‚ ์— ์•ฝ 1 ๋ถ„ 30 ์ดˆ๊ฐ€ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.

์›์‚ฌ 0.19.1
NodeJS 7.3.0
์œˆ๋„์šฐ 10

yarn add moment ์—๋Š” 105 ์ดˆ๊ฐ€ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ์ข…์†์„ฑ์ด ์—†์Šต๋‹ˆ๋‹ค. : /

ํŽธ์ง‘ : Windows Defender๋ฅผ ๋„๋ฉด ์‹œ๊ฐ„์ด 30 ~ 50 ์ดˆ๋กœ ๋‹จ์ถ•๋ฉ๋‹ˆ๋‹ค. ์ž‘์—…์ค‘์ธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ œ์™ธํ•˜๋ ค๊ณ ํ–ˆ์ง€๋งŒ ๋„์›€์ด๋˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ create-react-app์˜ ์ƒˆ ๋ณต์‚ฌ๋ณธ์„ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ 876.37 ์ดˆ๊ฐ€ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. ๋ฐ”์ด๋Ÿฌ์Šค ๋ฐฑ์‹  ์ž‘๋™ ๋ฐฉ์‹์— ๋Œ€ํ•œ ํ†ต์ œ๊ถŒ์ด ๋งŽ์ง€ ์•Š์ง€๋งŒ Windows์—์„œ NPM ๋ฐ CRA์— ๋Œ€ํ•œ ๊ฒฝํ—˜์ด ํ›จ์”ฌ ๋น ๋ฅด๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Windows 10์—์„œ๋Š” Ubuntu bash ์…ธ์„ ์ผ๋ฐ˜์ ์ธ ์กฐ์–ธ์œผ๋กœ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

Windows 10์—์„œ๋Š” Ubuntu bash ์…ธ์„ ์ผ๋ฐ˜์ ์ธ ์กฐ์–ธ์œผ๋กœ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

Linux ์šฉ Windows ํ•˜์œ„ ์‹œ์Šคํ…œ์—์„œ ๋””์Šคํฌ I / O๊ฐ€ ๋งค์šฐ ๋Š๋ฆฝ๋‹ˆ๋‹ค. ํ˜„์žฌ ์•Œ๋ ค์ง„ ์ œํ•œ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ NPM ๋ฐ CRA์— ๋Œ€ํ•œ ๋‚˜์˜ ๊ฒฝํ—˜์€ Windows์—์„œ ํ›จ์”ฌ ๋” ๋นจ๋ž์Šต๋‹ˆ๋‹ค.

@JeffBaumgardt- ํฅ๋ฏธ

@ Daniel15 ์•„๋งˆ ๊ทธ๋ž˜์•ผ ํ•˜์ง€๋งŒ ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ ์„ค์น˜ ๋ฐ ์„ค์น˜ ์ œ๊ฑฐ๋Š” ์ €์—๊ฒŒ ๋” ์ ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ €๋Š” npm add <packages> --save-dev ํ•˜๊ณ  yarn.lock์„ ์‚ญ์ œํ•˜๊ณ  yarn์„ ์‹คํ–‰ํ•˜๋ฉด yarn add <packages> -D ๋ฅผ ํ•œ ๋ฒˆ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋น ๋ฆ…๋‹ˆ๋‹ค. ์ด์ œ ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์‹ค์„ ๊ฟฐ๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ชจ์ž๋ผ. ๋ฌผ๋ก  ๋‚˜๋Š” ์ž๋ฌผ์‡ ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๋ชจ๋‘๊ฐ€ ๋ฒˆ๋“ค์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋„๋ก ๊ฐ•์š”ํ•˜๊ณ  ์‹ถ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ๋‹ค์Œ์€ ํ›Œ๋ฅญํ–ˆ์Šต๋‹ˆ๋‹ค.

cc @echobnet

Windows 10 + Windows ๋””ํŽœ๋” ์‚ฌ์šฉ์ž

  1. ์ฒซ ๋ฒˆ์งธ ํด๋ฆญ ์„ค์ •

    image

  2. ์ œ์™ธ ํ•ญ๋ชฉ๊นŒ์ง€ ์•„๋ž˜๋กœ ์Šคํฌ๋กค

    image

  3. yarn cache dir ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์บ์‹œ ํด๋”์˜ ์œ„์น˜๋ฅผ โ€‹โ€‹๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

    • ์ด ์บ์‹œ ํด๋”๋ฅผ ์ œ์™ธ ๋ชฉ๋ก์— ์ถ”๊ฐ€
    • ์ œ์™ธ ๋ชฉ๋ก์— ํ”„๋กœ์ ํŠธ node_modules ํด๋” ์ถ”๊ฐ€
  4. ๋ฐ˜์‘ ํ”„๋กœ์ ํŠธ ์†๋„ ํ–ฅ์ƒ x 3-10

@SleeplessByte ๋˜๋Š” ์ œ์™ธ ๋œ ํ”„๋กœ์„ธ์Šค์— yarn ๋ฐ node ๋ฅผ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐฝ๋ฌธ์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. Mac Pro์—์„œ ๋”์ฐํ•œ ๋งํฌ ์‹œ๊ฐ„์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์šด์˜์ฒด์ œ : OS X 10.11.6 (El Capitan)
๋…ธ๋“œ : 7.6.0
ํ„ธ์‹ค : 0.20.3

Imgur

Mac 10.12.3์—์„œ๋„ _ ๋งค์šฐ ๋Š๋ฆฌ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐฝ๋ฌธ๊ณผ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋‚ด ์„ค์ • ์ด์ด ์Šค๋ ˆ๋“œ์˜ ๋‹ค๋ฅธ ์„ค์ •๋ณด๋‹ค ๋Š๋ฆฌ๊ฒŒ ๋ณด์ž…๋‹ˆ๋‹ค. yarn์€ ๋•Œ๋•Œ๋กœ ์†Œ๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ ์•ฝ 600.000 ๊ฐœ์˜ ํŒŒ์ผ์„ ์—ฐ๊ฒฐํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค. 30 ๋ถ„ ์ด์ƒ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ํ˜„์žฌ ๊นจ๋—ํ•œ ์บ์‹œ์™€ ์•ผ๊ฐ„ (v0.22.0-20170226.1626)์œผ๋กœ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ํŠน์ • ๋ฒ”์œ„ ํŒจํ‚ค์ง€์— ๋Œ€ํ•ด ๊ณต์‹ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์™€ ์‚ฌ์šฉ์ž ์ง€์ • ๊ฐœ์ธ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋™๋ฃŒ๋“ค์€์ด ๋ฌธ์ œ๋กœ ๊ณ ํ†ต๋ฐ›์ง€ ์•Š์œผ๋ฏ€๋กœ ์‚ฌ์šฉ์ž ์ง€์ • ๊ฐœ์ธ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๊ฐ€ ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค (์–ด์จŒ๋“  ํŒจํ‚ค์ง€ ๊ฐ€์ ธ ์˜ค๊ธฐ๋Š” ์ด๋ฏธ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค). ๋˜ํ•œ package.json path: ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ด€๋ จ ํŒŒ์ผ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

https://github.com/google/material-design-icons ๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ฐ ๋งŽ์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. _ ์ž‘์€ ํŒŒ์ผ์ด ๋งŽ์•„ _ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋„ ๋ฒˆ๊ฑฐ๋กœ์šด ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค (https://github.com/google/ material-design-icons / issues / 518). ๋‚ด ํ•˜๋“œ์›จ์–ด๊ฐ€ ๋งŽ์€ ์ž‘์€ ํŒŒ์ผ ๋˜๋Š” ์ด์™€ ์œ ์‚ฌํ•œ ๊ฒƒ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”์ง€ ๋˜๋Š” ์ด๊ฒƒ์ด ์ „ํ˜€ ๊ด€๋ จ์ด ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ์ œ ๋™๋ฃŒ๋“ค์€ https://github.com/google/material-design-icons ์„ค์น˜์—

์ตœ์‹  ์ •๋ณด

์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค ... file: ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ•ด ๋ณด์ž…๋‹ˆ๋‹ค. node_modules/ ๋ฐ ๊ธฐํƒ€ ํ•ญ๋ชฉ์ด ํฌํ•จ ๋œ ์บ์‹œ์— ๋ชจ๋“ˆ์ด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋‘ ์ž์‹ ์˜ node_modules/ ํฌํ•จํ•˜๋Š” ์—ฌ๋Ÿฌ ์˜ˆ์ œ๊ฐ€์žˆ๋Š” ๊ฒฝ์šฐ ์ด๊ฒƒ์€ _ ์ •๋ง _ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. file: ์„ค์น˜์— ๋Œ€ํ•ด .npmignore ๋“ฑ์ด ๋ฌด์‹œ๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐ์ฑ…์ด ๋กœ์ปฌ๋กœ ํ•ด๊ฒฐ ๋œ ํŒŒ์ผ์„ ์ „ํ˜€ ์บ์‹œํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ https://github.com/yarnpkg/yarn/issues/2165๋กœ ์š”์•ฝ๋ฉ๋‹ˆ๋‹ค. ๋‚ด ์บ์‹œ (์—ด ๊ฒฝ์šฐ $ yarn cache dir ๋ชจ๋“ˆ)๊ณผ ๋ชจ์–‘์„ ์™œ ๊ณณ์œผ๋กœ ์„ค์น˜ file: ์™€ ๊ทธ๋“ค์ด ํฌํ•จ node_modules ๋””๋ ‰ํ† ๋ฆฌ ๋˜๋Š” ๋‹ค๋ฅธ ํฐ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ, ๋‚˜๋Š” ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค linking phase ์ด๋Ÿฌํ•œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ œ๊ฑฐํ•˜์—ฌ

[3/4] Linking dependencies...
Done in 947.71s. 

yarn add ... ์ƒˆ ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด์ด ์‹œ๊ฐ„์„ ๊ธฐ๋‹ค๋ ค์•ผํ–ˆ์Šต๋‹ˆ๋‹ค.
Win7 / w ์›์‚ฌ v0.21.3
๋‚ด ์•ฑ์— material-design-icons ํŒจํ‚ค์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ์ด๊ฒƒ์ด ๊ด€๋ จ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค https://github.com/yarnpkg/yarn/issues/990

@kuncevich ๋ชจ๋“  ๊ฒƒ์ด ๋‚ด ์ชฝ์—์„œ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋Ÿฐํƒ€์ž„ ๋™์•ˆ ์‹œ์ž‘ ์ž‘์—… ๊ด€๋ฆฌ์ž๋ฅผ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค

@kuncevic Windows์—์„œ ์ฐพ์€ ๋ฒ„๊ทธ์˜ ์˜ํ–ฅ์„๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/yarnpkg/yarn/pull/2958

๋ณธ์งˆ์ ์œผ๋กœ yarn์€ ํ•ญ์ƒ ๋ชจ๋“  ์ž‘์—…์— ๋Œ€ํ•ด node_modules ๋ชจ๋“  ํŒŒ์ผ์„ ๋ณต์‚ฌ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@asolopovas ์ œ ๊ฒฝ์šฐ์—๋Š” node.exe ์ฒ˜๋Ÿผ 10-26 % node.exe 10-26 % .

๋‚ด AV๋Š” ์™„์ „ํžˆ ๊บผ๋„ ๋ฌธ์ œ๊ฐ€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹ค ์†๋„ ํ–ฅ์ƒ์„ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋…ธ๋“œ -v 6.9.2

@kuncevic ์€ ๋…ธ๋“œ๋ฅผ 7๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์ž‘์—… ์†๋„๊ฐ€ ๋นจ๋ผ์ง€๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด @vbfox ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉํ–ฅ์„ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณธ์งˆ์ ์œผ๋กœ yarn์€ ํ•ญ์ƒ ๋ชจ๋“  ์ž‘์—…์— ๋Œ€ํ•ด node_modules์˜ ๋ชจ๋“  ํŒŒ์ผ์„ ๋ณต์‚ฌ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@vbfox ์ด์œ ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” yarn์˜ ์ž์„ธํ•œ ์ถœ๋ ฅ์„๋ณด๊ณ  ๊ฑฐ์˜ ๋ชจ๋“  ์‹œ๊ฐ„์ด ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜๋Š” ๋ฐ ์†Œ๋น„๋œ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ _package_์— ๋Œ€ํ•œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“  ๋‹ค์Œ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์ „์ฒด ํŒจํ‚ค์ง€๋Š” ์ƒ๋‹นํžˆ ๋น ๋ฅด๊ฑฐ๋‚˜ ๋‹ค์‹œ ๋” ๋น ๋ฅผ ์ˆ˜์žˆ๋Š” ๋ชจ๋“  ํŒจํ‚ค์ง€๋ฅผ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ๋“ค์€ ์•ˆ์ „ํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

@danpalmer ์—ฐ๊ฒฐ ๋‹จ๊ณ„๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 3 ๋‹จ๊ณ„๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

  1. node_modules ์— ์žˆ์–ด์•ผํ•˜๋Š” ๋ชจ๋“  ํŒŒ์ผ ์ฐพ๊ธฐ
  2. ์ด ๋ชฉ๋ก๊ณผ ์ด๋ฏธ์žˆ๋Š” ๋ชฉ๋ก์„ ํ™•์ธํ•˜๊ณ  ์บ์‹œ์—์„œ node_modules ๋กœ ๋ณต์‚ฌํ•ด์•ผ ํ•  ํ•ญ๋ชฉ์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  3. ๋ณต์‚ฌํ•˜๊ธฐ

libuv / nodejs ๋ฒ„๊ทธ๋กœ ์ธํ•ด ( utime ๋Š” yarn์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ๋ฒ„๊ทธ๋Š” ๋ฐ€๋ฆฌ ์ดˆ๋ฅผ 0์œผ๋กœ ์„ค์ •ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค) ์ด์ „ ์‹คํ–‰์—์„œ yarn์ด ๋ณต์‚ฌ ํ•œ ํŒŒ์ผ์€ ํ•ญ์ƒ ๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ ํ™•์ธ๋ฉ๋‹ˆ๋‹ค (์บ์‹œ์˜ ๋ฒ„์ „์—๋Š” ์ •์ƒ์ ์ธ ์ˆ˜์ • ์‹œ๊ฐ„์ด์ง€๋งŒ node_modules์˜ ๋ชจ๋“  ํŒŒ์ผ์€ ๋ฐ€๋ฆฌ ์ดˆ ๋™์•ˆ 0 ๋ฒ„์ „์„ ๊ฐ€์ง) 2 ๋‹จ๊ณ„๋Š” ํ•ญ์ƒ ๋ชจ๋“  ๊ฒƒ์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค๊ณ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

๋…ธ๋“œ 7.1์—์„œ ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์œผ๋ฏ€๋กœ LTS์— ๊ตญํ•œ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ˆ˜์ •ํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์‰ฝ์Šต๋‹ˆ๋‹ค (ํŒŒ์ผ์ด utime ๋กœ ์ƒ์„ฑ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ €์žฅ์†Œ์—์„œ ์ฒซ ๋ฒˆ์งธ ์–€ ์ž‘์—…์ด ๋Š๋ ค์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ ๋‹ค์Œ์€ ๋ชจ๋‘ ํ›จ์”ฌ ๋น ๋ฆ„). ๋‚ด PR์€ ๋ณธ์งˆ์ ์œผ๋กœ ๋น„๊ตํ•  ๋•Œ Windows์—์„œ ํŒŒ์ผ ์‹œ๊ฐ„์˜ ๋ฐ€๋ฆฌ ์ดˆ ๋ถ€๋ถ„์„ ๋ฌด์‹œํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์ „์ฒด ํŒจํ‚ค์ง€ ๋ณต์‚ฌ์™€ ๊ด€๋ จํ•˜์—ฌ ํ˜„์žฌ ํŒŒ์ผ ์‹œ์Šคํ…œ AFAIK์— ์กด์žฌํ•˜๋Š” ์ž‘์—…์€ ๋ชจ๋‘ ํŒŒ์ผ ์ˆ˜์ค€์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
์ œ๊ณตํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ์ฐฝ์€ FileCopy API์ž…๋‹ˆ๋‹ค (Yarn์—์„œ ์‚ฌ์šฉํ•  PR์ด ์žˆ์Šต๋‹ˆ๋‹ค : https://github.com/yarnpkg/yarn/pull/2960). ๊ธฐ๋ณธ nodejs ์ŠคํŠธ๋ฆผ API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์กฐ๊ธˆ ๋” ๋น ๋ฆ…๋‹ˆ๋‹ค.

์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋Š” ์™œ ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์— ๋Œ€ํ•ด ์ถฉ๋ถ„ํžˆ ์•Œ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค (ํ…Œ์ŠคํŠธ ํด๋” ์ œ๊ฑฐ์™€ ๊ฐ™์€ ํŒจํ‚ค์ง€ ํŒŒ์ผ์— ๋ช‡ ๊ฐ€์ง€ ์ˆ˜์ •์ด ์ด๋ฃจ์–ด ์ง€์ง€๋งŒ ๊ฐœ๋ณ„ ํŒŒ์ผ์„ ์‹ฌ๋ณผ๋ฆญ ๋งํฌํ•ด๋„ ๊ทธ๋ ‡๊ฒŒ ๋‹ฌ๋ผ์ง€์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค) ๊ทธ๋Ÿฌ๋‚˜ linux / macos (์œˆ๋„์šฐ๋ณด๋‹ค ํ›จ์”ฌ ๋” ํ”ํ•จ)์—์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋Ÿด๋งŒ ํ•œ ์ด์œ ๊ฐ€์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Node 7.8.0 ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•œ ๋‚ด ์‹คํ—˜ : https://github.com/yarnpkg/yarn/issues/990#issuecomment -290288375

1. Find every file that need to be in node_modules
2. Check this list versus what is already there and find what need to be copied around from cache to node_modules
3. Do the copy

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์‚ฌ๋žŒ๋“ค์ด ๋ธŒ๋žœ์น˜ ๊ฐ„์„ ์ „ํ™˜ ํ•  ๋•Œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์‹œ ์—ฐ๊ฒฐํ•œ๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•˜๋ฉด ๋” ๋‚˜์€ ๋ฐฉ๋ฒ•์ด ์žˆ์„๊นŒ์š”?

node_modules ์˜ ๊ฐ ๋นŒ๋“œ์— ๋Œ€ํ•ด ๊ณ ์œ  ํ•œ ID๋ฅผ ๋งŒ๋“  ๋‹ค์Œ ์บ์‹œ์—์„œ ์ „์ฒด ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ด๋Ÿฐ ์‹์œผ๋กœ ๋ถ„๊ธฐ๋ฅผ ์•ž๋’ค๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์€ ์‹ค์ œ๋กœ ๋‹ค๋ฅธ node_modules ์‹ฌ๋ณผ๋ฆญ ๋งํฌ์ž…๋‹ˆ๋‹ค.

๋‹น์—ฐํžˆ, ๋‹น์‹ ์ด ์‹คํ–‰ํ•˜๋Š” node_modules ์˜ ๋ชจ๋“  ๋ฒ„์ „์„ ์บ์‹ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋””์Šคํฌ์— ๋งŽ์€ ๊ฒƒ์„ ์“ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ์— ๋Œ€ํ•œ ์ตœ์ ํ™”๊ฐ€์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ํŠธ๋ฆฌ ์ €์žฅ?

์ˆœ์ง„ํ•œ ๊ฒƒ์— ๋Œ€ํ•ด ์šฉ์„œํ•˜์‹ญ์‹œ์˜ค. ์ €๋Š” ์œ ๋‹‰์Šค ๋ฐ ์‹ฌ์ง€์–ด Windows ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๊ด€ํ•ด์„œ๋Š” ๊ฐ€์žฅ ๊ต์œก์„ ๋งŽ์ด๋ฐ›์ง€๋Š” ๋ชปํ–ˆ์ง€๋งŒ ๊ต์œก์ ์ธ ์—ฐ์Šต์œผ๋กœ ์ด๊ฒƒ์„ ํŒŒํ—ค์ณ ์„œ ์–ด๋–ค ์‹ ์œผ๋กœ๋“  ๋ถ„๋ช…ํžˆ ๊ฒฐํ•จ์ด์—†๋Š” ๊ฒฝ์šฐ์ด ์•„์ด๋””์–ด์˜ ๊ฐœ๋… ์ฆ๋ช….

pnpm ๋ฐ IED ๊ณ ์šฉ ๋‹น์‹ ์€ ๋‚ด๊ฐ€ ์ƒ๊ฐ ์–ธ๊ธ‰ ๊ธฐ์ˆ ์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹Œ ์ „์ฒด๊ฐ€ ์žˆ๋Š”์ง€, ์–ผ๋งˆ ์ „์— ๊ทธ๋“ค์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ๊ทธ๋“ค ์ค‘ Windows์—์„œ ๋ฌธ์ œ๋ฅผ ๋ฐœ์ƒ ๋˜๋Š” ์›์‚ฌ๋กœ ๋น ๋ฅด๊ฒŒํ•˜์ง€ ์•Š์•˜๋‹ค.

์ €๋„ ์‹ค๋กœ ์•ฑ์„ ๋งŒ๋“œ๋Š” ๋ฐ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.
์œˆ๋„์šฐ ์„œ๋ฒ„ 2012
๋…ธ๋“œ 7.9.0
์›์‚ฌ 0.22
554.08 ์ดˆ์— ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋‹ค๋ฅธ ๊ฒฝ์šฐ์—๋Š” React ์„ค์น˜๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ํ›จ์”ฌ ๋น ๋ฆ…๋‹ˆ๋‹ค.

์ตœ๊ทผ ์—ฐ๊ฒฐ ์‹œ๊ฐ„์ด ๊ธธ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ฌ๋ฆฌ๋Š”
์›์‚ฌ- v0.23.2
๋…ธ๋“œ- 6.10.2 ๋˜๋Š” 7.9.10 (nvm์„ ์‚ฌ์šฉํ•˜์—ฌ ์ „ํ™˜)

Mac ๋ฐ archlinux (Manjaro)์—์„œ ์ด๊ฒƒ์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

Windows Defender ์ œ์™ธ์— ๋…ธ๋“œ์™€ ์‹ค์„ ์ถ”๊ฐ€ํ•˜๋ฉด Windows ์ปดํ“จํ„ฐ์—์„œ ์—ฐ๊ฒฐ ์‹œ๊ฐ„์ด ์•ฝ 60 % ๋‹จ์ถ•๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

+1

[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
Done in 180.22s.

7.9.0 ๋…ธ๋“œ๋กœ ์ „ํ™˜ํ•ด๋„ ์†๋„๊ฐ€ ๋นจ๋ผ์ง€์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. Windows Defender์— 'yarn', 'node'๋ฐ 'npm'์„ ์ถ”๊ฐ€ํ•˜๋ฉด (.exe ํ™•์žฅ์ด ์žˆ๊ฑฐ๋‚˜์—†๋Š”, ๋ฌด์—‡์ด ํ•„์š”ํ•œ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Œ) ์†๋„๊ฐ€ 3 ๋ฐฐ ๋นจ๋ผ์กŒ์ง€๋งŒ npm ์„ค์น˜๋ณด๋‹ค 50 % ๋” ๊ธธ์—ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๋…ธ๋“œ์—์„œ ์‹คํ–‰์ค‘์ธ ๋ชจ๋“  ํ•ญ๋ชฉ์ด๋‚˜ ์„ค์น˜์ค‘์ธ ํŒจํ‚ค์ง€์—์„œ ๋ชจ๋“  ๋ณดํ˜ธ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์€ ๋‚˜์—๊ฒŒ ์ข‹์€ ์ƒ๊ฐ์ด ์•„๋‹Œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‚ด ๊ฒฝํ—˜ ์ถ”๊ฐ€-node.exe / yarn.exe๋ฅผ Windows ๋ฐฉ์–ด์ž์˜ ์˜ˆ์™ธ ๋ชฉ๋ก์— ์ถ”๊ฐ€ํ•˜๋ฉด ์–€ ์„ค์น˜ ์‹œ๊ฐ„์ด ์ ˆ๋ฐ˜์œผ๋กœ ๋‹จ์ถ•๋˜์—ˆ์Šต๋‹ˆ๋‹ค (60 ์ดˆ์—์„œ 30 ์ดˆ๋กœ).

๋‚˜๋Š” ์ด๊ฒƒ๋„๋ณด๊ณ  ์žˆ๋Š”๋ฐ, ๋‹จ์ผ ํŒจํ‚ค์ง€๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐ ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ํŒจํ‚ค์ง€๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๋™์•ˆ ๋น ๋ฅด๊ฒŒ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ์ด ๋‹ต๋‹ตํ•ฉ๋‹ˆ๋‹ค.

yarn install v0.24.5
[1/4] Resolving packages...
[2/4] Fetching packages...
warning [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 338.20s.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:    14.04
Codename:   trusty
  "dependencies": {
    "autoprefixer": "^6.7.7",
    "axios": "^0.16.1",
    "babel-core": "^6.24.1",
    "babel-loader": "7.x",
    "babel-preset-env": "^1.4.0",
    "coffee-loader": "^0.7.3",
    "coffee-script": "^1.12.5",
    "compression-webpack-plugin": "^0.4.0",
    "css-loader": "^0.28.0",
    "element-ui": "^1.3.3",
    "extract-text-webpack-plugin": "^2.1.0",
    "file-loader": "^0.11.1",
    "glob": "^7.1.1",
    "js-yaml": "^3.8.3",
    "node-sass": "^4.5.2",
    "path-complete-extname": "^0.1.0",
    "postcss-loader": "^1.3.3",
    "postcss-smart-import": "^0.6.12",
    "precss": "^1.4.0",
    "rails-erb-loader": "^5.0.0",
    "rails-ujs": "^5.1.0",
    "sass-loader": "^6.0.3",
    "style-loader": "^0.16.1",
    "turbolinks": "^5.0.3",
    "vue": "^2.3.0",
    "vue-loader": "^12.0.2",
    "vue-router": "^2.5.3",
    "vue-template-compiler": "^2.3.0",
    "webpack": "^2.4.1",
    "webpack-manifest-plugin": "^1.1.0",
    "webpack-merge": "^4.1.0"
  },
  "devDependencies": {
    "element-theme": "*",
    "element-theme-default": "^1.3.3",
    "eslint": "^3.19.0",
    "eslint-config-airbnb": "^14.1.0",
    "eslint-plugin-import": "^2.2.0",
    "eslint-plugin-jsx-a11y": "^4.0.0",
    "eslint-plugin-react": "^6.9.0",
    "nodemon": "^1.11.0",
    "webpack-dev-server": "^2.4.5"
  }

:(

yarn 0.24.5, node 7.10.0 ๋ฐ npm 4.2.0์„ ์‚ฌ์šฉํ•˜์—ฌ Mid-Summer 2010 MacBook Pro (Sierra 10.12.4)์— +1 ์ถ”๊ฐ€ :

ฮป ์›์‚ฌ ์ถ”๊ฐ€ ๋ถ€ํŠธ ์ŠคํŠธ๋žฉ-์—‰๋ฉ์ด
์›์‚ฌ ์ถ”๊ฐ€ v0.24.5
[1/4] ๐Ÿ” ํŒจํ‚ค์ง€ ํ•ด๊ฒฐ ์ค‘ ...
[2/4] ๐Ÿšš ํŒจํ‚ค์ง€ ๊ฐ€์ ธ ์˜ค๋Š” ์ค‘ ...
[3/4] ๐Ÿ”— ์˜์กด์„ฑ ์—ฐ๊ฒฐ ...
[4/4] ๐Ÿ“ƒ ์ƒˆ๋กœ์šด ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ ...
์„ฑ๊ณต ์ €์žฅ๋œ ์ž ๊ธˆ ํŒŒ์ผ.
์„ฑ๊ณต 1 ๊ฐœ์˜ ์ƒˆ ์ข…์†์„ฑ์„ ์ €์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.
โ””โ”€ [email protected]
โœจ 123.52s ํ›„์— ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

"dependencies": {
    "@angular/animations": "^4.1.3",
    "@angular/common": "^4.0.0",
    "@angular/compiler": "^4.0.0",
    "@angular/core": "^4.0.0",
    "@angular/forms": "^4.0.0",
    "@angular/http": "^4.0.0",
    "@angular/material": "^2.0.0-beta.5",
    "@angular/platform-browser": "^4.0.0",
    "@angular/platform-browser-dynamic": "^4.0.0",
    "@angular/router": "^4.0.0",
    "bootstrap-sass": "^3.3.7",
    "core-js": "^2.4.1",
    "font-awesome": "^4.7.0",
    "material-design-icons": "^3.0.1",
    "materialize-css": "^0.98.2",
    "rxjs": "^5.1.0",
    "zone.js": "^0.8.4"
},
"devDependencies": {
    "@angular/cli": "1.0.1",
    "@angular/compiler-cli": "^4.0.0",
    "@types/jasmine": "2.5.38",
    "@types/node": "~6.0.60",
    "codelyzer": "~2.0.0",
    "jasmine-core": "~2.5.2",
    "jasmine-spec-reporter": "~3.2.0",
    "karma": "~1.4.1",
    "karma-chrome-launcher": "~2.0.0",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^0.2.0",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.0",
    "ts-node": "~2.0.0",
    "tslint": "~4.5.0",
    "typescript": "~2.2.0"
}

npm ์„ค์น˜๋กœ ๋‹ค์‹œ ์ „ํ™˜ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š”-u'stream ': u'[3/4] ์›์‚ฌ์—์„œ ์ข…์†์„ฑ ์—ฐ๊ฒฐ ๋ฐ NPM์—์„œ ์˜ค๋ฅ˜ ์—†์Œ ..

์ตœ์‹  ๋นŒ๋“œ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

Docker๋ฅผ ํ†ตํ•ด ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

@iwarner npm 5.0์€ ์ข‹์€ ์„ ํƒ์ž…๋‹ˆ๋‹ค.

Vagrant (Ubuntu Xenial)์™€ Jenkins์—์„œ ์‹ค์„ ์šด์˜ํ•ฉ๋‹ˆ๋‹ค. package.json์—๋Š” ๋‘ ๊ฐœ์˜ ํ•˜์œ„ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
npm -v 3.10.10
๋…ธ๋“œ -v 6.10.1
์›์‚ฌ ์„ค์น˜ v0.21.3

npm ์„ค์น˜์— ๋Œ€ํ•œ ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋ฌธ์ œ (4 ์‹œ๊ฐ„์€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Œ)๊ฐ€ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์–ผ๋งˆ ์ „์— npm์—์„œ yarn์œผ๋กœ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ์› ์‚ฌ๋Š” ์•ฝ 30 %์˜ ์‹œ๊ฐ„ ๋™์•ˆ ์ž‘๋™ํ•˜์ง€๋งŒ 70 %์˜ ์‹œ๊ฐ„ ๋™์•ˆ ์šฐ๋ฆฌ๋Š” ์–ด๋Š ์‹œ์ ์—์„œ 4 ์‹œ๊ฐ„ ์ œํ•œ ์‹œ๊ฐ„์„ ์–ป์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์–€ ์„ค์น˜ ๋˜๋Š” ๋‘ ๋ฒˆ์งธ ์–€ ์„ค์น˜ ๋˜๋Š” ๋‹จ์œ„ ํ…Œ์ŠคํŠธ (jest)๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ https://github.com/yarnpkg/yarn/issues/990 ์˜ ๋ณต์ œํ’ˆ์ด๋ฉฐ ๋น„๊ต ์ฐจํŠธ๊ฐ€ ์žˆ์œผ๋ฉฐ ์ตœ์‹  ๋ฒ„์ „์˜ Yarn์ด ๊ฑฐ๊ธฐ์—์„œ ์ข‹์€ ์ง„์ „์„ ์ด๋ฃฌ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.
๊ทธ๋ž˜๋„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์žฌํ˜„ ๋‹จ๊ณ„ ๋ฐ ์ตœ์‹  npm๊ณผ ๋น„๊ตํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค.

success Saved lockfile.
Done in 1737.79s.

Ubuntu 16.04
i5, 8GB RAM

:(

Windows 10 v 1709 + SSD + PowerShell + ๋…ธ๋“œ 6.12.2 :
Yarn ์„ค์น˜๋Š” ๋งˆ์ง€๋ง‰ ํŒจํ‚ค์ง€๊นŒ์ง€ ๋น ๋ฅด๋ฉฐ preinstall ๋ช…๋ น์—์„œ ๋ฉˆ์ถ˜ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค.
์—ฌ๊ธฐ์˜ ์ง€์นจ์— ๋”ฐ๋ผ Windows ๋ฐฉ์–ด์ž์— ๋Œ€ํ•œ ์ œ์™ธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์ง€๋งŒ ๋‚ด ์†Œ์Šค๋ฅผ % USERPROFILE % source์— ์ฒดํฌ ์•„์›ƒํ•˜์—ฌ ๊ธ‰๊ฒฉํžˆ ๋Š๋ ค์กŒ์Šต๋‹ˆ๋‹ค. c์—์„œ ์ฒดํฌ ์•„์›ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ํž™์ด ๋” ๋นจ๋ž์Šต๋‹ˆ๋‹ค.

Ubuntu ํ”Œ๋žซํผ์„์œ„ํ•œ ์†”๋ฃจ์…˜์ด ์žˆ์Šต๋‹ˆ๊นŒ? ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์ „์— ๋ง ๊ทธ๋Œ€๋กœ ๋‘ ๋ฒˆ ์ƒ๊ฐํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ถ„ํˆฌ๋Š” ์ €์—๊ฒŒ ๋งค์šฐ ๋น ๋ฅด๋ฉฐ ์ „ํ˜€ ๋Š๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

2018 ๋…„ 2 ์›” 23 ์ผ ๊ธˆ์š”์ผ 11:13 Basant Besra, [email protected] ์ž‘์„ฑ :

Ubuntu ํ”Œ๋žซํผ์„์œ„ํ•œ ์†”๋ฃจ์…˜์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋ง ๊ทธ๋Œ€๋กœ ๋‘ ๋ฒˆ ์ƒ๊ฐํ•ด์•ผ ํ•ด์š”
ํŒจํ‚ค์ง€ ์ถ”๊ฐ€.

โ€”
์ด ์Šค๋ ˆ๋“œ๋ฅผ ๊ตฌ๋…ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—์ด ๋ฉ”์‹œ์ง€๊ฐ€ ์ „์†ก๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/yarnpkg/yarn/issues/1496#issuecomment-367897260 ๋˜๋Š” ์Œ์†Œ๊ฑฐ
์‹ค
https://github.com/notifications/unsubscribe-auth/AAcMheTtAYOsXcrnej_f2F8bY5D3nDT2ks5tXizngaJpZM4Kh3OZ
.

์ด๊ฒƒ์€ ๋งค์šฐ ์„ฑ๊ฐ€์‹  ์ผ์ž…๋‹ˆ๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ ๋ชจ๋“ˆ์—์„œ ํ•œ ์ค„์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์ƒˆ ๋ฒ„์ „์œผ๋กœ ๋‹ค์‹œ ๊ฒŒ์‹œํ–ˆ์œผ๋ฉฐ yarn add module ์—๋Š” 5 ๋ถ„์ด ๋„˜๊ฒŒ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.

ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜๋™์œผ๋กœ ํŒจํ‚ค์ง€๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์ด ๋” ๋น ๋ฆ…๋‹ˆ๋‹ค.

๋˜ํ•œ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

success Saved lockfile.
success Saved 1 new dependency.
info Direct dependencies
โ””โ”€ @material-ui/[email protected]
info All dependencies
โ””โ”€ @material-ui/[email protected]
Done in 93.43s.

๋‚ด ์‹œ์Šคํ…œ์€ Linux manjaro 4.14.31-1-MANJARO #1 SMP PREEMPT Wed Mar 28 21:42:49 UTC 2018 x86_64 GNU/Linux

NodeJS : v9.9.0
์›์‚ฌ : v1.5.1

์ €์—๊ฒŒ๋„ ๋งค์šฐ ๋Š๋ฆฝ๋‹ˆ๋‹ค Done in 254.32s.

๋…ธ๋“œ v8.10.0
npm 5.6.0

OSX 10.11.6 (15G19009)

[email protected] ์œผ๋กœ ๋‹ค์‹œ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ์ด ๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์˜คํ”„๋ผ์ธ ์บ์‹œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ package.json ๋˜๋Š” yarn-lockfile์ด ๋ณ€๊ฒฝ๋˜๋Š” ์ฆ‰์‹œ์ด ๋ฌธ์ œ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. Linux ์‹œ์Šคํ…œ์—์„œ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ 10 ๋ถ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์ด ํŠน์ • ์ฐฝ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํ™•์‹คํžˆ Windows๋งŒ์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค (Windows๊ฐ€ ์•„๋‹Œ ์ปดํ“จํ„ฐ์—์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์˜ ๋ชจ๋“  ๊ฒŒ์‹œ๋ฌผ์—์„œ ๋ถ„๋ช…ํ•ด์•ผ ํ•จ)!

์ €๋Š” macOS High Sierra 10.13.4์—์„œ ๋…ธ๋“œ 10.1.0 (npm 5.6.0)๊ณผ yarn 1.6.0์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์›์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ข…์†์„ฑ์„ ์„ค์น˜ํ•˜๋Š” ๋ฐ 40 ์ดˆ๊ฐ€ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. npm์œผ๋กœ ์ „ํ™˜ํ–ˆ๋Š”๋ฐ ์•ฝ 10 ์ดˆ๊ฐ€ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. ๋‹น๋ถ„๊ฐ„ npm์„ ๊ณ ์ˆ˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

centos 7 ๋ฐ•์Šค๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?
์›์‚ฌ : v1.7.0
npm : v5.7.1

๋…ธ๋“œ 10์˜ Mac์—์„œ 1.9.2์—์„œ ๋‚˜์—๊ฒŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

macOS HighSierra์—์„œ Avast FileShield๊ฐ€ ๋ฌธ์ œ๋ฅผ ์ผ์œผ์ผฐ์Šต๋‹ˆ๋‹ค. which yarn ์‚ฌ์šฉํ•˜์—ฌ yarn ์‹คํ–‰ ํŒŒ์ผ์„ ์ œ์™ธ ๋œ ๊ฒฝ๋กœ๋กœ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๊ดœ์ฐฎ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋Œ์•„ ์˜ค๋ฉด ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋…ธ๋“œ 10์˜ Mac์—์„œ 1.9.2์—์„œ ๋‚˜์—๊ฒŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. High Sierra์˜ Yarn 1.9.2, ๋…ธ๋“œ 10.6.0.

@bestander ์ด๊ฒƒ์€ Windows ๋ฌธ์ œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. Yarn 1.9.4๋กœ Mac์—์„œ ์žฌํ˜„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ๋‹ค์‹œ ์—ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

@davidgoli , ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.์ด ๋ฌธ์ œ๋Š” ์ƒˆ๋กœ์šด ๋ฌธ์ œ์ด๋ฏ€๋กœ ๋ณ„๋„๋กœ ๋ถ„๋ฅ˜ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์› ์‚ฌ๋Š” ๋‚ด๊ฐ€ ์‹คํ–‰ ํ•œ ๋ชจ๋“  ํ™˜๊ฒฝ์—์„œ ๋งค์šฐ ๋Š๋ฆฝ๋‹ˆ๋‹ค. ๋ฐ๋น„์•ˆ, ๋งฅ, ์œˆ๋„์šฐ. ์ƒˆ๋กœ์šด ๋ฌธ์ œ๊ฐ€ ๊ณต๊ฐœ ๋˜์—ˆ์Šต๋‹ˆ๊นŒ? ๋˜๋Š” node_modules๋ฅผ ์ œ๊ฑฐํ•˜๋Š” RFC๊ฐ€ ์ด๊ฒƒ์„ ํ•ด๊ฒฐํ•  ๊ฒƒ์ž…๋‹ˆ๊นŒ?

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ๊ณ  ์ด๋ฏธ npm์œผ๋กœ ์ „ํ™˜ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๋ฒ„๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

Yarn์—๋„ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์•˜์Šต๋‹ˆ๊นŒ?

์ด๊ฒƒ์€ # 990์˜ ๋ณต์ œํ’ˆ์ด๋ฉฐ ๋น„๊ต ์ฐจํŠธ๊ฐ€ ์žˆ์œผ๋ฉฐ ์ตœ์‹  ๋ฒ„์ „์˜ Yarn์ด ๊ฑฐ๊ธฐ์—์„œ ์ข‹์€ ์ง„์ „์„ ์ด๋ฃฌ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.
๊ทธ๋ž˜๋„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์žฌํ˜„ ๋‹จ๊ณ„ ๋ฐ ์ตœ์‹  npm๊ณผ ๋น„๊ตํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค.

์ด๊ฒƒ์€ ์ค‘๋ณต๋˜์ง€ ์•Š์œผ๋ฉฐ,์ด ๋ฌธ์ œ๋Š” Windows์— ๊ด€ํ•œ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ด๋ฉด ์ปจํ…์ŠคํŠธ๊ฐ€ ์†์‹ค ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค!

yarn install
yarn install v1.16.0
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
info [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
info [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[4/5] Linking dependencies...
[###############################################---------------------------------------------------------------------------------------------] 22778/67399
Done in 179.59s.

MacOS / Docker

๋ฐฉ๋ž‘์ž 2.2.4
์†๋‹˜ : Ubuntu 18.10 (GNU/Linux 4.18.0-25-generic x86_64)
ํ˜ธ์ŠคํŠธ : MacOS 10.14.5 Mojave

์›์‚ฌ 1.16.0
npm 6.9.0

MacBook Pro (Retina, 13 ํ˜•, 2015 ๋…„ ์ดˆ๋ฐ˜)
ํ”„๋กœ์„ธ์„œ 2.7GHz Intel Core i5
๋ฉ”๋ชจ๋ฆฌ 16GB 1867MHz DDR3

yarn install v1.16.0
[1/4] Resolving packages...
[2/4] Fetching packages...
info [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
Done in 1552.45s.

25 ๋ถ„ ์ด์ƒ์˜ ์ƒ์‚ฐ์„ฑ์„ ์žƒ์ง€ ์•Š๊ณ ๋Š” ์‹ค์ œ๋กœ yarn install ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ง๋„ ์•ˆ ๋ผ. ๋‚˜๋Š” ์ด๊ฒƒ์ด Windows ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ€์ƒํ™” ๋œ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•  ๋•Œ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๊ฒŒ์ŠคํŠธ OS์—์„œ ๋™๊ธฐํ™” ๋œ ํด๋” / ํŒŒ์ผ ์ƒํƒœ ํ™•์ธ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์›์‚ฌ v1.17.3
๋…ธ๋“œ v10.16.3
npm 6.9.0

์œˆ๋„์šฐ

yarn cache dir ์™€ ๋™์ผํ•œ ๋””์Šคํฌ ์„น์…˜์— ๋‚ด ์•ฑ ํ”„๋กœ์ ํŠธ ํด๋” ์œ„์น˜๋ฅผ ๋ฐฐ์น˜ํ•˜๋ ค๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค.
์›์‚ฌ ์บ์‹œ ๋””๋ ‰ํ† ๋ฆฌ-> C : ์‚ฌ์šฉ์žAppDataLocalYarnCachev4

๊ฒฐ๊ณผ:
์ด์ „ ์œ„์น˜-> D : myApp Done in 747.17s.
์ƒˆ ์œ„์น˜-> C : myApp Done in 488.97s.

C์™€ D๋Š” ๋™์ผํ•œ ๋ฌผ๋ฆฌ ๋””์Šคํฌ์ž…๋‹ˆ๋‹ค.

๋งฅ

๊ทธ๋Ÿฌ๋‚˜ Mac์€ Windows Done in 121.37s ๋ณด๋‹ค ๋น ๋ฆ…๋‹ˆ๋‹ค.

๋ณ‘๋ชฉ ํ˜„์ƒ์ด ๋””์Šคํฌ ์ฝ๊ธฐ / ์“ฐ๊ธฐ ์†๋„๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๊นŒ?

OS X 10.15
์›์‚ฌ v1.22.4
๋…ธ๋“œ v12.13.0
npm v6.12.0

๋‚˜๋Š” ์•„์ง๋„ ์ด๊ฒƒ์„ ๊ฒฝํ—˜ํ•˜๊ณ ์žˆ๋‹ค. ํ”„๋กœ์ ํŠธ๊ฐ€ ๋งˆ์šดํŠธ ๋œ ์•”ํ˜ธํ™” ๋œ ๋””์Šคํฌ ์ด๋ฏธ์ง€์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„๊ต์  ์ž‘์€ package.json ์œผ๋กœ ๋‹จ์ผ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ฐ ๋ช‡ ๋ถ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ๋ฒค์น˜๋งˆํ‚นํ•˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ npm์€ ํ›จ์”ฌ ๋นจ๋ผ์กŒ์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘ : ๋™์ผํ•œ ์•”ํ˜ธํ™” ๋œ ๋ณผ๋ฅจ์— ์žˆ๋„๋ก ์›์‚ฌ์˜ ๊ธฐ๋ณธ ์บ์‹œ ํด๋”๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ๋„ ๋งž์•˜๊ณ  ๋‚˜๋Š” ๋‹ฌ๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์šด์˜์ฒด์ œ : Ubuntu 18.04.2
ํ„ธ์‹ค : 1.22.4
๋…ธ๋“œ : 14.7.0
NPM : 6.14.7

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