tslint 3.0.0์ ์ค์นํ๋ ค๊ณ ํ๋๋ฐ "Unmet Peer Dependency typescript@>=1.6.2"๋ผ๊ณ ๊ณ์ ํ์๋ฉ๋๋ค.
์ด๊ฒ์ ์์ ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
ํผ์ด ์ข ์์ฑ์ 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
.
๋์์ ์ค์นํ๋ฉด ์๋ํ๋ ๊ฒ ๊ฐ์ง๋ง ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ์์ต๋๋ค! @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๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์ ์ฃผ์ ํฉ๋๋ค.
๊ทธ๊ฒ์ ๋ํ ๋ ๊ฐ์ง ์๊ฒฌ:
-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๋ก ์ ํ ํด์ผ
๐ ์ด ์ด์๋ ๋ ์ด์์ ๋ถํ์ํ ๋ ผ์๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์ ๊ทธ๊ณ ์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค! ๐
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
ํผ์ด ์ข ์์ฑ์ npm v3.x์ ์ํด ์๋์ผ๋ก ์ค์น๋์ง ์์ต๋๋ค(1.x ๋ฐ 2.x์์๋ ์๋).
๋น์ ์ ์ค์น ํ
typescript
ํจ๊ปtslint
?์ต์ ์ ๋ณด
์คํฌ๋กคํ ํ์๊ฐ ์๋๋ก ์ฌ๊ธฐ์ "์๋ฃจ์ "์ ๋ถ์ฌ๋ฃ์ผ์ธ์.
์ด๊ฒ์ NPM ์ฌ์ฉ์ฑ ๋ฒ๊ทธ์ ๋๋ค. ์ ์ผํ ํด๊ฒฐ์ฑ ์ ๋ค์์ ๋์์ ์ค์นํ๋ ๊ฒ์ ๋๋ค.