Tslint: ์ถฉ์กฑ๋˜์ง€ ์•Š์€ ํ”ผ์–ด ์ข…์†์„ฑ typescript@>=1.6.2

์— ๋งŒ๋“  2015๋…„ 11์›” 22์ผ  ยท  43์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: palantir/tslint

tslint 3.0.0์„ ์„ค์น˜ํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ "Unmet Peer Dependency typescript@>=1.6.2"๋ผ๊ณ  ๊ณ„์† ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์„ ์—†์• ๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

External Question

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

ํ”ผ์–ด ์ข…์†์„ฑ์€ npm v3.x์— ์˜ํ•ด ์ž๋™์œผ๋กœ ์„ค์น˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(1.x ๋ฐ 2.x์—์„œ๋Š” ์ž๋™).

๋‹น์‹ ์€ ์„ค์น˜ ํ•œ typescript ํ•จ๊ป˜ tslint ?

์ตœ์‹  ์ •๋ณด

์Šคํฌ๋กคํ•  ํ•„์š”๊ฐ€ ์—†๋„๋ก ์—ฌ๊ธฐ์— "์†”๋ฃจ์…˜"์„ ๋ถ™์—ฌ๋„ฃ์œผ์„ธ์š”.

์ด๊ฒƒ์€ NPM ์‚ฌ์šฉ์„ฑ ๋ฒ„๊ทธ์ž…๋‹ˆ๋‹ค. ์œ ์ผํ•œ ํ•ด๊ฒฐ์ฑ…์€ ๋‹ค์Œ์„ ๋™์‹œ์— ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

npm install -g tslint typescript

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

ํ”ผ์–ด ์ข…์†์„ฑ์€ npm v3.x์— ์˜ํ•ด ์ž๋™์œผ๋กœ ์„ค์น˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(1.x ๋ฐ 2.x์—์„œ๋Š” ์ž๋™).

๋‹น์‹ ์€ ์„ค์น˜ ํ•œ typescript ํ•จ๊ป˜ tslint ?

์ตœ์‹  ์ •๋ณด

์Šคํฌ๋กคํ•  ํ•„์š”๊ฐ€ ์—†๋„๋ก ์—ฌ๊ธฐ์— "์†”๋ฃจ์…˜"์„ ๋ถ™์—ฌ๋„ฃ์œผ์„ธ์š”.

์ด๊ฒƒ์€ NPM ์‚ฌ์šฉ์„ฑ ๋ฒ„๊ทธ์ž…๋‹ˆ๋‹ค. ์œ ์ผํ•œ ํ•ด๊ฒฐ์ฑ…์€ ๋‹ค์Œ์„ ๋™์‹œ์— ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

npm install -g tslint typescript

์ „์—ญ ์ˆ˜์ค€์—์„œ tslint์™€ typescript๋ฅผ ๋ชจ๋‘ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ํƒ€์ดํ”„์Šคํฌ๋ฆฝํŠธ ๋ฒ„์ „ 1.6.2

๋‚˜๋Š” ๋˜ํ•œ Windows์—์„œ ์ด๊ฒƒ์„ํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค.

nodejs ์˜ Brew ๋ฐฐํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ OSX์—์„œ ์ƒˆ๋กœ ์„ค์น˜ํ•  ๋•Œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‚ด CentOS ์ƒ์ž์—์„œ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ์‚ฌ์šฉ์ž ์ง€์ • ์ ‘๋‘์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์žฌํ˜„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(๋”ฐ๋ผ์„œ ๊ธฐ์กด ๋ชจ๋“ˆ์„ ๋‚ ๋ ค๋ฒ„๋ฆด ํ•„์š”๊ฐ€ ์—†์Œ).

leonyu-workstation:~$ npm config set prefix hihi
leonyu-workstation:~$ npm list -g


leonyu-workstation:~$ npm install typescript -g
/Users/leonyu/hihi/bin/tsc -> /Users/leonyu/hihi/lib/node_modules/typescript/bin/tsc
/Users/leonyu/hihi/bin/tsserver -> /Users/leonyu/hihi/lib/node_modules/typescript/bin/tsserver
/Users/leonyu/hihi/lib
โ””โ”€โ”€ [email protected]

leonyu-workstation:~$ npm install tslint -g
/Users/leonyu/hihi/bin/tslint -> /Users/leonyu/hihi/lib/node_modules/tslint/bin/tslint
/Users/leonyu/hihi/lib
โ”œโ”€โ”ฌ [email protected]
โ”‚ โ”œโ”€โ”ฌ [email protected]
โ”‚ โ”‚ โ””โ”€โ”ฌ [email protected]
โ”‚ โ”‚   โ”œโ”€โ”ฌ [email protected]
โ”‚ โ”‚   โ”‚ โ””โ”€โ”€ [email protected]
โ”‚ โ”‚   โ”œโ”€โ”€ [email protected]
โ”‚ โ”‚   โ”œโ”€โ”ฌ [email protected]
โ”‚ โ”‚   โ”‚ โ””โ”€โ”ฌ [email protected]
โ”‚ โ”‚   โ”‚   โ”œโ”€โ”€ [email protected]
โ”‚ โ”‚   โ”‚   โ””โ”€โ”€ [email protected]
โ”‚ โ”‚   โ””โ”€โ”€ [email protected]
โ”‚ โ”œโ”€โ”ฌ [email protected]
โ”‚ โ”‚ โ”œโ”€โ”€ [email protected]
โ”‚ โ”‚ โ””โ”€โ”€ [email protected]
โ”‚ โ””โ”€โ”€ [email protected]
โ””โ”€โ”€ UNMET PEER DEPENDENCY typescript@>=1.6.2

npm WARN EPEERINVALID [email protected] requires a peer of typescript@>=1.6.2 but none was installed.
leonyu-workstation:~$

์—ฌ๊ธฐ์—์„œ ์ƒ์„ฑ๋œ ๊ฒฝ๊ณ ์ผ ๋ฟ์ž…๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ์ „์—ญ tslint ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์‹ค์ œ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ์ด๊ฒƒ์€ NPM ๋ฒ„๊ทธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜คํƒ์ง€ ๊ฒฝ๊ณ ).

์กฐ๊ธˆ ๊ฐ€์ง€๊ณ  ๋†€๊ณ  ๋‚˜๋ฉด tslint ๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. npm ๋ฒ„๊ทธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์นœ ํ›„์— ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€

@adidahiya tslint v3.0.0 ์— peerDepedency ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜์—ด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  "peerDependencies": {
    "typescript": ">=1.6.2"
  }

์ฆ‰, ์‹œํ—˜ํŒ(๋˜๋Š” npm ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์šฉ์–ด) ๋ฒ„์ „์˜ TypeScript๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํ”ผ์–ด ์ข…์†์„ฑ์ด ์ถฉ์กฑ๋˜์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค.

$ npm install --save-dev [email protected]
npm WARN install Couldn't install optional dependency: Unsupported
[email protected] /home/myitcv/tmp/typescript_test
โ”œโ”€โ”€ [email protected]
โ””โ”€โ”€ UNMET PEER DEPENDENCY [email protected]

๊ทธ๋Ÿฌ๋‚˜ next ๋ถ„๊ธฐ( v3.0.0 ๋’ค์— ์žˆ๋Š” ์ปค๋ฐ‹ ์ˆ˜)์—๋Š” ๋‹ค์Œ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  "peerDependencies": {
    "typescript": ">=1.7.0 || >=1.7.0-dev.20151003 || >=1.8.0-dev"
  }

์‹œํ—˜ํŒ ๋ฒ„์ „์— ์™„๋ฒฝํ•˜๊ฒŒ ๋งŒ์กฑํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์‹œ ๋งํ•˜์ง€๋งŒ, ์ด ๊ฒฝ๊ณ ๋Š” ๋‹จ์ˆœํžˆ ๋ฌด์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ next ๋ฒ„์ „์˜ TypeScript์— ๋Œ€ํ•ด 3.0.0 ๋ฅผ ์„ค์น˜ํ•˜๋ ค๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

tslint ์˜ ์ฃผ์š” ๋ฆด๋ฆฌ์Šค์— ์‹œํ—˜ํŒ ํ”ผ์–ด ์ข…์†์„ฑ ์˜ต์…˜์„ ํฌํ•จํ•˜๋Š” ๊ฒƒ์ด ๋งˆ์Œ์— ๋“ค์ง€ ์•Š๋Š”๋‹ค๋ฉด? ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ•ด๊ฐ€ ๋˜๋‚˜์š”?

@myitcv ๋„ค, ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์— ๋Œ€ํ•ด ์กฐ๊ธˆ ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค... ์ €๋Š” tslint ์•ˆ์ • ๋ฆด๋ฆฌ์Šค๋ฅผ typescript์˜ ์•ˆ์ • ๋ฆด๋ฆฌ์Šค์— ๋ฌถ๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ next ๊ธฐ๋Šฅ์„ ์›ํ•˜๋ฉด next ๋‘ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฐฐํฌ

@adidahiya ํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ํ˜„์žฌ ์•ˆ์ •์ ์ธ ํƒ€์ดํ”„์Šคํฌ๋ฆฝํŠธ ๋ฆด๋ฆฌ์Šค์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

@helios1138 ๊ทธ๋ž˜๋„ ๊ทธ๋ƒฅ ์˜ค๋ฅ˜๊ฒ ์ฃ ? ์˜ค๋ฅ˜์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  tslint ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ? ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ์„ค์น˜ ์ค‘์ž…๋‹ˆ๊นŒ? ๋” ๋งŽ์€ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค...

@helios1138 - ๋‘˜ ๋‹ค ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ์„ค์น˜ํ•˜๋Š” ๊ฒฝ์šฐ ์Šค๋ ˆ๋“œ์˜ ๋‹ค๋ฅธ ๊ฒŒ์‹œ๋ฌผ์—์„œ ์–ธ๊ธ‰ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ npm ๋ฌธ์ œ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@adidahiya ์ดํ•ดํ–ˆ์Šต๋‹ˆ๋‹ค. tslint ์— ๋Œ€ํ•œ next ๋ฐฐํฌ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•˜์„ธ์š”:+1:

@gclifford @helios1138 ์„ค์น˜ํ•˜๊ธฐ ์ „์— npm cache clean ๋ฅผ ์‹คํ–‰ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ด ๋ฌธ์ œ์™€ ๊ด€๋ จ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/npm/npm/issues/10365

๋‚˜๋Š” ๊ทธ๊ฒƒ์— ์•ฝ๊ฐ„์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. npm์€ ์„ค์น˜ํ•  ๋•Œ ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•˜์ง€๋งŒ gulp-tslint@latest ์™€ ํ•จ๊ป˜ํ•˜์ง€ ์•Š์ง€๋งŒ ๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

aplicaciones2@MacBook-Pro-de-aplicacioes-2:~/Documents/Programming/OSGroup/taoappionic$ npm i --save gulp-tslint<strong i="7">@latest</strong>
npm WARN deprecated [email protected]: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^3.0.0.
npm WARN [email protected] requires a peer of tslint@^3 || >=3.1.0-dev but none was installed.
npm WARN [email protected] No repository field.
npm WARN [email protected] No license field.
aplicaciones2@MacBook-Pro-de-aplicacioes-2:~/Documents/Programming/OSGroup/taoappionic$ gulp tslint
module.js:340
    throw err;
    ^

Error: Cannot find module 'tslint'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:289:25)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (/Users/aplicaciones2/Documents/Programming/OSGroup/taoappionic/node_modules/gulp-tslint/index.js:7:14)
    at Module._compile (module.js:425:26)
    at Object.Module._extensions..js (module.js:432:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:313:12)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)

npm cache clean ํ›„์—๋„ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? 3.6.0์œผ๋กœ ํ•ด๊ฒฐ๋˜๋Š” [email protected] ๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์ž‘๋™ํ•˜๋ฏ€๋กœ gulp-tslint ์ €์žฅ์†Œ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@Luchillo ๋Š” tslint๊ฐ€ ์•„๋‹Œ gulp-tslint๋งŒ ์„ค์น˜ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ถ„๋ฆฌ๋˜์—ˆ๋‚˜์š”? v3.6.0์—์„œ๋„ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋‚ด๊ฐ€ ์ดํ•ดํ•˜๋Š” ํ•œ gulp-tslint๋Š” tslint npm ํŒจํ‚ค์ง€์˜ ๋ž˜ํผ์ž…๋‹ˆ๋‹ค.

@Luchillo ์•„๋‹ˆ์š”, ๋ž˜ํผ๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฟ€๊บฝ ๊ฟ€๊บฝ ๊ฟ€๊บฝ ๋งˆ์‹œ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ž…๋‹ˆ๋‹ค. ์ตœ์‹  gulp-tslint์—๋Š” tslint๊ฐ€ ํ”ผ์–ด ์ข…์†์„ฑ ์ด๋ฏ€๋กœ tslint๊ฐ€ ์ž๋™์œผ๋กœ ์„ค์น˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค npm install ํ•ฉ๋‹ˆ๋‹ค. https://nodejs.org/en/blog/npm/peer-dependencies/

์•„, ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•ด ์•Œ์ง€ ๋ชปํ•˜๊ธฐ ์ „์— ๋ฐฉ๊ธˆ v3.6.0์„ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ ๋กœ์ปฌ ํ”„๋กœ์ ํŠธ, ๊ธ€๋กœ๋ฒŒ ๋˜๋Š” ๋‘˜ ๋‹ค์— ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

๋˜ํ•œ [email protected]์— ๋Œ€ํ•œ ํ”ผ์–ด ์ข…์†์„ฑ์€ typescript๊ฐ€ ์„ค์น˜๋œ ๊ฒฝ์šฐ์—๋„ ์ถฉ์กฑ๋˜์ง€ ๋ƒ…๋‹ˆ๋‹ค .

aplicaciones2@MacBook-Pro-de-aplicacioes-2:~/Documents/Programming/OSGroup/taoappionic$ npm i -g typescript
/usr/local/bin/tsc -> /usr/local/lib/node_modules/typescript/bin/tsc
/usr/local/bin/tsserver -> /usr/local/lib/node_modules/typescript/bin/tsserver
/usr/local/lib
โ””โ”€โ”€ [email protected] 

aplicaciones2@MacBook-Pro-de-aplicacioes-2:~/Documents/Programming/OSGroup/taoappionic$ npm i -g tslint
/usr/local/bin/tslint -> /usr/local/lib/node_modules/tslint/bin/tslint
/usr/local/lib
โ”œโ”€โ”€ [email protected] 
โ””โ”€โ”€ UNMET PEER DEPENDENCY typescript@>=1.7.3

npm WARN [email protected] requires a peer of typescript@>=1.7.3 but none was installed.
npm WARN In [email protected] replacing bundled version of findup-sync with [email protected]
npm WARN In [email protected] replacing bundled version of optimist with [email protected]
npm WARN In [email protected] replacing bundled version of underscore.string with [email protected]
npm WARN In [email protected] replacing bundled version of glob with [email protected]
npm WARN In [email protected] replacing bundled version of once with [email protected]
npm WARN In [email protected] replacing bundled version of inherits with [email protected]
npm WARN In [email protected] replacing bundled version of inflight with [email protected]
npm WARN In [email protected] replacing bundled version of minimatch with [email protected]
npm WARN In [email protected] replacing bundled version of wrappy with [email protected]
npm WARN In [email protected] replacing bundled version of brace-expansion with [email protected]
npm WARN In [email protected] replacing bundled version of concat-map with [email protected]
npm WARN In [email protected] replacing bundled version of balanced-match with [email protected]
npm WARN In [email protected] replacing bundled version of wordwrap with [email protected]
npm WARN In [email protected] replacing bundled version of minimist with [email protected]

@Luchillo gulp -tslint๋Š” ๋ฒ„์ „์„ 4.x๋กœ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

"์ถฉ์กฑ๋˜์ง€ ์•Š์€ ํ”ผ์–ด ์ข…์†์„ฑ" ๊ฒฝ๊ณ ๋Š” ์œ„์˜ ์Šค๋ ˆ๋“œ์— ๋Œ€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. NPM ๋ฒ„๊ทธ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ฑฐํ•˜๊ณ  npm cache clean ์‹คํ–‰ํ•˜๊ณ  ์ „์—ญ์ ์œผ๋กœ ๋‹ค์‹œ ์„ค์น˜ํ•˜๋ฉด ์‚ฌ๋ผ์ง€๋‚˜์š”?

@adidahia
์•ˆ๋…•ํ•˜์„ธ์š” npm cache clean ํ›„์—๋„ ๋™์ผํ•œ ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
๋‘˜ ๋‹ค ์ „์—ญ์ ์œผ๋กœ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.

npm ls -g
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]

when installing
npm WARN EPEERINVALID [email protected] requires a peer of typescript@>=1.7.3 but none was installed.

์ด์ƒํ•ด ๊ทธ๊ฒƒ์€ ์ถฉ์กฑ๋˜์ง€ ํ”ผ์–ด ์˜์กด์„ฑ ๋˜๋Š” ์™ธ๋ถ€ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค, ์•„๋ž˜๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๋”ฐ๋ผ์„œ ๋‘ ๊ฐ€์ง€ ์˜ค๋ฅ˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ฌธ์ž ์‚ฌ์šฉ์ด ์ •๋ง ์‹ซ๋‹ค๋ฉด npm install typescript ๋˜๋Š” npm install typescript --save-dev ์‚ฌ์šฉํ•˜์—ฌ ๋ฏธ๋ž˜์˜ ๋™๋ฃŒ์—๊ฒŒ ์ด๋Ÿฌํ•œ ๋Œ€๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ฐ˜์ ์œผ๋กœ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์‹œ ์ œ๊ฑฐํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

โ”œโ”€โ”€ [email protected] extraneous   <---
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ””โ”€โ”€ [email protected] (git+https://4c2b0edc3e30fscrambled:[email protected]/company/project/.git#f9fscrambled101)

npm ERR! extraneous: [email protected] C:\Code\project\node_modules\typescript
npm ERR! peer dep missing: kerberos@~0.0, required by [email protected]

C:\Code\project>npm uninstall typescript
- [email protected] node_modules\typescript
[email protected] C:\Code\project\
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ””โ”€โ”€ UNMET PEER DEPENDENCY typescript@>=1.7.3   <---

npm WARN [email protected] requires a peer of kerberos@~0.0 but none was installed.
npm WARN [email protected] requires a peer of typescript@>=1.7.3 but none was installed.

C:\Code\project/>

Ubuntu ๋ฐ npm 3.3.12์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ

sim@sim-desktop:~/code/btsync/HTML/refugees$ sudo npm install -g typescript
/usr/bin/tsc -> /usr/lib/node_modules/typescript/bin/tsc
/usr/bin/tsserver -> /usr/lib/node_modules/typescript/bin/tsserver
/usr/lib
โ””โ”€โ”€ [email protected] 

sim@sim-desktop:~/code/btsync/HTML/refugees$ sudo npm install -g tslint
/usr/bin/tslint -> /usr/lib/node_modules/tslint/bin/tslint
/usr/lib
โ”œโ”€โ”€ [email protected] 
โ””โ”€โ”€ UNMET PEER DEPENDENCY typescript@>=1.7.3

npm WARN EPEERINVALID [email protected] requires a peer of typescript@>=1.7.3 but none was installed.

Windows 10, ๋…ธ๋“œ 5.7.1, npm 3.5.3 ๋ฐ typescript 1.8.7์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

C:\Users\cmezzasalma\Sviluppo\SmartScarlett>npm install -g typescript
C:\Users\cmezzasalma\AppData\Roaming\npm\tsc -> C:\Users\cmezzasalma\AppData\Roaming\npm\node_modules\typescript\bin\tsc
C:\Users\cmezzasalma\AppData\Roaming\npm\tsserver -> C:\Users\cmezzasalma\AppData\Roaming\npm\node_modules\typescript\bin\tsserver
C:\Users\cmezzasalma\AppData\Roaming\npm
โ””โ”€โ”€ [email protected]


C:\Users\cmezzasalma\Sviluppo\SmartScarlett>npm install -g tslint
C:\Users\cmezzasalma\AppData\Roaming\npm\tslint -> C:\Users\cmezzasalma\AppData\Roaming\npm\node_modules\tslint\bin\tslint
C:\Users\cmezzasalma\AppData\Roaming\npm
โ”œโ”€โ”€ [email protected]
โ””โ”€โ”€ UNMET PEER DEPENDENCY typescript@>=1.7.3

npm WARN [email protected] requires a peer of typescript@>=1.7.3 but none was installed.

TypeScript 1.8.7์ด ์„ค์น˜๋œ Win 8์—์„œ๋„ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

C:\Windows\system32>npm install -g tslint
C:\Users\indika\AppData\Roamingnpmtslint -> C:\Users\indika\AppData\Roaming\
npmnode_modulestslint\bintslint
C:\Users\indika\AppData\Roamingnpm
โ”œโ”€โ”€ [email protected]
โ””โ”€โ”€ ๋ฏธ์ถฉ์กฑ ๋™๋ฃŒ ์˜์กด๋„ typescript@>=1.7.3

npm WARN EPEERINVALID [email protected]์—๋Š” typescript@>=1.7.3์˜ ํ”ผ์–ด๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ ๋น„
e๋ฅผ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋…ธ๋“œ v5.7.0 ๋ฐ npm 3.6.0์ด ์žˆ๋Š” OSX์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ๋งํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

npm 3.7.3์„ ์‚ฌ์šฉํ•˜๋Š” OS X์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์ด NPM ์‚ฌ์šฉ์„ฑ ๋ฒ„๊ทธ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์œ ์ผํ•œ ํ•ด๊ฒฐ์ฑ…์€ ํ”ผ์–ด๋ฅผ ๋™์‹œ์— ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค: npm install -g tslint typescript .

๊ด€๋ จ: https://github.com/npm/npm/issues/9857

๋™์‹œ์— ์„ค์น˜ํ•˜๋ฉด ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค! @adidahia ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

์ด์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋กœ typescript ๋ฒ„์ „ 1.8.10์— ์ด ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
npm WARN EPEERINVALID [email protected] requires a peer of typescript@>=1.7.3 but none was installed.

@adidahiya ํ”ผ์–ด ์ข…์†์„ฑ ์‹คํŒจ๋กœ ์ธํ•ด tslint๋Š” ํ˜„์žฌ NPM 2์˜ typescript 2.1.0-dev ๋ฆด๋ฆฌ์Šค์™€ ํ•จ๊ป˜ ์„ค์น˜ํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค(#1401 ์ฐธ์กฐ). TravisCI(๋ฐ ์šฐ๋ฆฌ ๊ฐœ๋ฐœ์ž)๊ฐ€ ์ด์ „ ๋…ธ๋“œ ๋ฆด๋ฆฌ์Šค์— NPM 3์„ ์‚ฌ์šฉํ•˜๋„๋ก ๊ฐ•์ œํ•˜๋Š” ๊ฒƒ ์™ธ์— ์ด์— ๋Œ€ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@Turbo87 ํ , ํ™•์‹คํ•ฉ๋‹ˆ๊นŒ? ์ด ์ค„์€ 2.1.0-dev๊ฐ€ ์ž‘๋™ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ œ์•ˆํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค: https://github.com/palantir/tslint/blob/next/package.json#L49. ์—ฌ๊ธฐ์„œ NPM v2๊ฐ€ ๋‹ค๋ฅด๊ฒŒ ์ž‘๋™ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ณ  ๊ณ„์‹ญ๋‹ˆ๊นŒ?

์•„, ๊ทธ๋ž˜์„œ ๋ฌธ์ œ๋Š” ์šฐ๋ฆฌ๊ฐ€ tslint์— ๋Œ€ํ•ด ^3.14.0-dev.0 ์ œ์•ฝ ์กฐ๊ฑด์„ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ 3.14.0 ๊ฐ€ ๋ฆด๋ฆฌ์Šค๋œ ์ดํ›„ ์ œ์•ฝ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๊ณ  typescript์— ๋Œ€ํ•œ ์™„ํ™”๋œ peerDependency ์ œ์•ฝ ์กฐ๊ฑด์„ ๋‹ค์‹œ ์ œ๊ฑฐํ–ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜๋„์ ์ด์—ˆ๋‚˜์š”? ์šฐ๋ฆฌ๋Š” ์—ฌ๊ธฐ์„œ ๋ญ”๊ฐ€ ์ž˜๋ชปํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

@Turbo87 ์˜๋„์ ์ธ ๊ฒƒ์ด์ง€๋งŒ ์ถœ์‹œ ๋ฐฉ์‹์˜ ๋ถˆํ–‰ํ•œ ๋ถ€์‚ฐ๋ฌผ์ž…๋‹ˆ๋‹ค. -dev.x ๋กœ ๋๋‚˜๋Š” ๋ชจ๋“  ๋ฆด๋ฆฌ์Šค๋Š” ์ตœ์‹  ์‹œํ—˜ํŒ ๋ฒ„์ „์˜ TS, ํŠนํžˆ ํ˜„์žฌ 2.x ๋ผ์ธ์—์„œ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋œ ๋ฆด๋ฆฌ์Šค์ž…๋‹ˆ๋‹ค.

-dev.x ๊ฐ€ ์•„๋‹Œ ๋ชจ๋“  ๋ฆด๋ฆฌ์Šค๋Š” ํ˜„์žฌ 1.8.10์ธ typescript@latest ์—์„œ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ตœ์‹  ๋ฒ„์ „์˜ TS์™€ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ์ตœ์‹  ๋ฒ„์ „์˜ TSLint์— ์˜์กดํ•˜๋ ค๋ฉด tslint@next ๋˜๋Š” TSLint์˜ ๋‹จ์ผ ํŠน์ • ๋ฒ„์ „์— ์˜์กดํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

@JKillian ์„ค๋ช… ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ํ”ผ์–ด ์ข…์†์„ฑ์€ NPM v3์—์„œ ์ •๋ณด ์ œ๊ณต์šฉ์ด๊ณ  NPM v2์—์„œ ์ด๋Ÿฌํ•œ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๊ธฐ ๋•Œ๋ฌธ์— ํ”ผ์–ด ์ข…์†์„ฑ์„ ๋Œ€์‹  README ํŒŒ์ผ์˜ ํ˜ธํ™˜์„ฑ ์ฐธ๊ณ ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๊นŒ?

ํ , ์ œ๊ฐ€ ์ž˜๋ชป ์ดํ•ดํ•œ ๊ฒƒ์ผ ์ˆ˜๋„ ์žˆ์ง€๋งŒ TSLint์— ๋Œ€ํ•œ ์ข…์†์„ฑ์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ์ฃผ๋กœ ์ •๋ณด ์ œ๊ณต์šฉ์ด์ง€๋งŒ ๊ฐ ํŒจํ‚ค์ง€๊ฐ€ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋œ ์˜ฌ๋ฐ”๋ฅธ TS ๋ฒ„์ „์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ๋•Œ๋ฌธ์— peerDepedendency๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์„ ์ฃผ์ €ํ•ฉ๋‹ˆ๋‹ค.

TSLint์— ๋Œ€ํ•œ ์ข…์†์„ฑ์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ?

์˜ˆ, ์ข…์†์„ฑ์„ ๊ณ ์ •ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€๋งŒ ๋ถ„๋ช…ํžˆ ๊ทธ๋Ÿฐ ์‹์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฅผ ์–ป์ง€๋Š” ๋ชปํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฃผ๋กœ ์ •๋ณด ์ œ๊ณต์šฉ์ด์ง€๋งŒ ๊ฐ ํŒจํ‚ค์ง€๊ฐ€ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋œ ์˜ฌ๋ฐ”๋ฅธ TS ๋ฒ„์ „์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ๋•Œ๋ฌธ์— peerDepedendency๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์„ ์ฃผ์ €ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์— ๋Œ€ํ•œ ๋‘ ๊ฐ€์ง€ ์˜๊ฒฌ:

  • ๋ฌธ์ œ๋Š” ์‚ฌ์‹ค NPM v2์— ๋Œ€ํ•œ ์ •๋ณด ์ œ๊ณต์šฉ์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹จ์ง€ ์ •๋ณด ์ œ๊ณต์„ ์›ํ•˜๋ฉด ๋Œ€์‹  README์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (๋Œ€์•ˆ์€ ์‚ฌ์šฉ์ž๊ฐ€ NPM v3๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ NPM v2๊ฐ€ ๋…ธ๋“œ 4๊นŒ์ง€ ์ œ๊ณต๋˜์—ˆ์œผ๋ฏ€๋กœ ์ด๋Š” ์‹ค์ œ๋กœ ์ข‹์€ ์˜ต์…˜์ด ์•„๋‹™๋‹ˆ๋‹ค.)
  • -dev ๋Š” TS-dev์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์ง€๋งŒ non-dev๋Š” ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๊ณ  ๋ง์”€ํ•˜์…จ์ฃ ? ๊ทธ๋Ÿฌ๋‚˜ non-dev๊ฐ€ dev ๋ฒ„์ „์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ non-dev๋„ TS-dev์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋˜์ง€ ์•Š์€ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋‚˜๋Š” ๋‹น์‹ ์ด ๊ฒฐ์ •ํ•œ ๋ชจ๋“  ๊ฒƒ์ด ์ตœ์„ ์˜ ํ•ด๊ฒฐ์ฑ…์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์ดํ•ดํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค... ๐Ÿ˜‰

๋‘ ๊ฐ€์ง€ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€๋กœ ๊ฒŒ์‹œํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ TSLint๋ฅผ ํ†ตํ•ฉํ•˜๋Š” ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ๊ณ ํ†ต์Šค๋Ÿฌ์šด ์ผ์ž…๋‹ˆ๋‹ค.

-dev๋Š” TS-dev์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์ง€๋งŒ non-dev๋Š” ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๊ณ  ํ–ˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋Ÿฌ๋‚˜ non-dev๊ฐ€ dev ๋ฒ„์ „์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ non-dev๋„ TS-dev์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋˜์ง€ ์•Š์€ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์Œ, ๋‘ ๋ฒ„์ „์€ _๋Œ€๋ถ€๋ถ„_ ๋™์ผํ•˜์ง€๋งŒ ์•ฝ๊ฐ„ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -dev ๋ฒ„์ „์—๋Š” ์ƒˆ๋กœ์šด ์–ธ์–ด ๊ธฐ๋Šฅ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ ๋น„ํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ์ด๋Ÿฌํ•œ ์ฝ”๋“œ ๋น„ํŠธ๋Š” ์ด์ „ ๋ฒ„์ „์˜ TS์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฝ”๋“œ ๋น„ํŠธ๋Š” ๋น„๊ฐœ๋ฐœ ๋ฒ„์ „์—๋„ ์—†์Šต๋‹ˆ๋‹ค.

peerDependency๊ฐ€ ์ œ๊ฑฐ๋˜๋ฉด ์‚ฌ๋žŒ๋“ค์ด ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ฒ„์ „์˜ TS ๋ฐ TSLint๊ฐ€ ์„ค์น˜๋˜๊ณ  ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ์•Œ์ง€ ๋ชปํ• ๊นŒ๋ด ๊ฑฑ์ •๋ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ง€์ ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ํ˜„์žฌ ์ƒํ™ฉ๋„ ์™„๋ฒฝํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ตœ์„ ์˜ ํ•ด๊ฒฐ์ฑ…์ด ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@next ์ด ํ•ญ์ƒ @latest ๋ณด๋‹ค ์ตœ์‹ ์ด๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์ด๊ฒƒ์€ CI์— ์˜ํ•ด ์ž๋™ํ™”๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ @angular/compiler-cli ๋ฐ @angular/tsc-wrapped ํ•„์š”ํ•œ typescript ๋ฒ„์ „ ^1.9.0-dev ๋ฐ npm shrinkwrap ์™€ ์ถฉ๋Œํ•ฉ๋‹ˆ๋‹ค. ts 1.8.10์€ ํ•ด๋‹น ํŒจํ‚ค์ง€ ๋ฐ 1.9.0-dev์— ๋Œ€ํ•ด ๋„ˆ๋ฌด ๋‚ฎ์Šต๋‹ˆ๋‹ค. tslint์—์„œ ์ž˜๋ชป๋œ ํ”ผ์–ด๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ํŽธ์ง‘: npm 3.10.x

+1

+-- [email protected]
`-- UNMET PEER DEPENDENCY typescript@>=1.7.3

npm WARN [email protected] requires a peer of typescript@>=1.7.3 but none was installed.

C:\Windows\system32>tsc -v
Version 1.8.10

vscode 1.4.0๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

sudo npm i tslint -g 
......
โ””โ”€โ”€ UNMET PEER DEPENDENCY typescript@>=1.7.3

npm WARN [email protected] requires a peer of typescript@>=1.7.3 but none was installed.
$ tslint --version
3.15.1

vscode ์ƒ๋‹จ์— ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค: tslint ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋กœ๋“œํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž‘์—… ๊ณต๊ฐ„์— tslint๋ฅผ ์„ค์น˜ํ•˜์„ธ์š”.

"tslint.enable": true|false(์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ๋ฐ ์ž‘์—… ๊ณต๊ฐ„์—์„œ) ์„ค์ • ์‹œ๋„ - ๋„์›€์ด ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

$ npm --version
3.10.3

$ node --version
v6.4.0

์–ด๋–ค ์ถฉ๊ณ ?

๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜๋„๋ก package.json ๋ฅผ ๋ณ€๊ฒฝํ–ˆ์œผ๋ฉฐ ์ด์ œ Node v4์—์„œ v6๊นŒ์ง€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

  "devDependencies": {
    "tslint": "3.15.0-dev.0",
    "typescript": "^2.1.0-dev.20160827"
  },

NPM ๋ฌธ์ œ์ด๋ฉฐ ์šฐ๋ฆฌ๊ฐ€ ํ†ต์ œํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ์ด๋ฏ€๋กœ ์ด ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

๐Ÿค– ์‚์‚! ๐Ÿ‘‰ TSLint๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ๐Ÿ‘ˆ typescript-eslint๋กœ ์ „ํ™˜ ํ•ด์•ผ

๐Ÿ”’ ์ด ์ด์Šˆ๋Š” ๋” ์ด์ƒ์˜ ๋ถˆํ•„์š”ํ•œ ๋…ผ์˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ž ๊ทธ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๐Ÿ‘‹

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