๋๋๋ก ์ฐ๋ฆฌ์ ์ผ์ผ ๋น๋๊ฐ ENOENT ์ค๋ฅ๋ก ์คํจํฉ๋๋ค. tsd๊ฐ ์กด์ฌํ์ง ์๋ ์บ์ ํ์ผ์ ์ด๋ ค๊ณ ํฉ๋๋ค.
[ERR!] ์ค๋ฅ : ENOENT, 'C : \ Users *** \ AppData \ Roaming \ tsd-cache \ borisyankov-DefinitelyTyped \ git-raw-fmt1.0 \ fa \ fac3185ed76eb7238c79967983952cc5224e8d36.raw'๋ฅผ ์ฝ๋ ๋ค.
package.json์์ npm-install ํ ์๋์ผ๋ก ์คํ๋๋๋ก "./node_modules/.bin/tsd install"๋ช ๋ น์ ์ถ๊ฐํ์ต๋๋ค.
tsd-debug.log :
[ERR!] cwd : c : *[ERR!] os : Windows_NT 6.2.9200[ERR!] argv : "node" "c : * _node_modules \ tsd \ build \ cli.js" "install"[ERR!] ๋
ธ๋ : v0.10.33[ERR!] tsd : 0.6.4[ERR!] ์ค๋ฅ : ENOENT, 'C : \ Users * _ \ AppData \ Roaming \ tsd-cache \ borisyankov-DefinitelyTyped \ git-raw-fmt1.0 \ fa \ fac3185ed76eb7238c79967983952cc5224e8d36.raw'๋ฅผ ์ฝ๋ ๋ค.[ERR!] ์ฝ๋ : ENOENT[ERR!] ENOENT, 'C : \ Users * \ AppData \ Roaming \ tsd-cache \ borisyankov-DefinitelyTyped \ git-raw-fmt1.0 \ fa \ fac3185ed76eb7238c79967983952cc5224e8d36.raw'๋ฅผ ์ฝ๋ ๋ค.
์ด๊ฒ์ tsd ์์ฒด์ ๋ฌธ์ ๊ฐ ์๋ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
tsd๊ฐ ํ์ผ์ ์ฐพ์ ์์๋ ๊ฒ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
[ERR!]
์ค๋ฅ : ENOENT, 'C : \ Users *** \ AppData \ Roaming \ tsd-cache \ borisyankov-DefinitelyTyped \ git-raw-fmt1.0 \ fa \ fac3185ed76eb7238c79967983952cc5224e8d36.raw'๋ฅผ ์ฝ๋ ๋ค.
[ERR!] tsd.json : { "version": "v4", "repo": "borisyankov / DefinitelyTyped", "ref": "master", "path": "typings", "bundle": "typings / tsd.d.ts ","installed ": {"jquery / jquery.d.ts ": {"commit ":"0de1592ef9e3144b925287ca0494f621e12b01c6 "},"angularjs / angular.d.ts ": {"commit ":"76e1dedf0bada455c0b75abeec3206d3aa5892 " }, "angularjs / angular-route.d.ts": { "commit": "76e1dedf0bada455c0b75abeec3206d3aa5bd892"}, "requirejs / require.d.ts": { "commit": "76e1dedf0bada455c0b75abeec3206d3aa5bd892"}, "domready / domreadyec3206d3aa5bd892"} .ts ": {"commit ":"76e1dedf0bada455c0b75abeec3206d3aa5bd892 "},"modernizr / modernizr.d.ts ": {"commit ":"f6c8ca47193fb67947944a3170912672ac3e908e "},"angular-ui-router / angular-ui-router / angular-ui-router / angular-ui-router ": {"commit ":"53439c5a40339b54d926b32e51c738b69b83660d "},"angular-translate / angular-translate.d.ts ": {"commit ":"38fb591c6eba840e0b53d1110302b8e4fb04651c "},"cordova-ionic / cordova-ionic.d.ionic / cordova-ionic.d. { "commit": "38fb591c6eba840e0b53d1110302b8e4fb04651c"}, "cordova-ionic / plugins / keyboard.d.ts": { "commit": "38fb591c6eba840e0b53d1110302b8e4fb04651c"}, "cor dova / cordova.d.ts ": {"commit ":"38fb591c6eba840e0b53d1110302b8e4fb04651c "},"cordova / plugins / Camera.d.ts ": {"commit ":"38fb591c6eba840e0b53d1110302b8e4fb04651c "},"cordova / plugins / Device.d. " ts ": {"commit ":"38fb591c6eba840e0b53d1110302b8e4fb04651c "},"cordova / plugins / FileTransfer.d.ts ": {"commit ":"38fb591c6eba840e0b53d1110302b8e4fb04651c "},"cordova / plugins / DeviceMotion. ":"38fb591c6eba840e0b53d1110302b8e4fb04651c "},"cordova / plugins / Splashscreen.d.ts ": {"commit ":"38fb591c6eba840e0b53d1110302b8e4fb04651c "},"cordova / fb838591d6511302b840e0b04d651110b8e0b53d1110302b8e4fb04651c "} , "cordova / plugins / Contacts.d.ts": { "commit": "38fb591c6eba840e0b53d1110302b8e4fb04651c"}, "cordova / plugins / Media.d.ts": { "commit": "38fb591c6eba840e0bovad1110302b8e4fb04651c"}, "cordova / 1110302b8e4fb04651c StatusBar.d.ts ": {"commit ":"38fb591c6eba840e0b53d1110302b8e4fb04651c "},"cordova / plugins / NetworkInformation.d.ts ": {"commit ":"38fb591c6eba840e0b53d1110302b8e4fb04651c "},"cordova / plugins / Dialogs. "cordova : { "์ปค๋ฐ": "38fb591 c6eba840e0b53d1110302b8e4fb04651c "},"cordova / plugins / Vibration.d.ts ": {"commit ":"38fb591c6eba840e0b53d1110302b8e4fb04651c "},"cordova / plugins / MediaCapture.10840b8efb591656eba1302c}, fb591656eba.ts ": cordova53d11651840.ts": { "commit" /plugins/DeviceOrientation.d.ts":{"commit":"38fb591c6eba840e0b53d1110302b8e4fb04651c"},"cordova/plugins/Push.d.ts":{"commit":"38fb591c6eba840e0b53d1110302b8e4fb04651c"},"cordova/plugins/Globalizatione4fb04651c " .ts ": {"commit ":"38fb591c6eba840e0b53d1110302b8e4fb04651c "},"cordova / plugins / WebSQL.d.ts ": {"commit ":"38fb591c6eba840e0b53d1110302b8e4fbd04651c "},"cordova / plugins "},"cordova / plugins commit ":"38fb591c6eba840e0b53d1110302b8e4fb04651c "},"cordova / plugins / InAppBrowser.d.ts ": {"commit ":"38fb591c6eba840e0b53d1110302b8e4fb04651c "}}}
[ERR!] .tsdrc๋ฅผ ๊ฒ์ ํ ์ ์์ต๋๋ค.
์๋ ํ์ธ์ @ L6Echo ์ด ๋ฌธ์ ๋ฅผ๋ณด๊ณ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ฌธ์ ๋ฅผ ์กฐ์ฌํ๊ณ ์ฌํ ํด ๋ณด๊ฒ ์ต๋๋ค.
์ต๊ทผ์ ์ด์ ๋น์ทํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ํ ์ปดํ์ผ ์ ์ ๋ชจ๋ ์ข
์์ฑ์ด ์ ์๋ฆฌ์ ์๋์ง ํ์ธํ๊ธฐ ์ํด npm ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ tsd reinstall
๋ฅผ ์์ํฉ๋๋ค.
๋ค์์ ๋น๋ ์๋ฒ์ ์ถ๋ ฅ์ ๋๋ค.
> tsd reinstall
-> running reinstall
[ERR!] cwd : c:\j\vNext Dev Deploy\Foo.Web
[ERR!] os : Windows_NT 6.3.9600
[ERR!] argv : "node" "c:\\j\\vNext Dev Deploy\\Foo.Web\\node_modules\\tsd\\build\\cli.js" "reinstall"
[ERR!] node : v0.12.4
[ERR!] tsd : 0.6.5
[ERR!] Error: path exists but is not a directory C:\Users\jenkins\AppData\Roaming\tsd-cache\borisyankov-DefinitelyTyped\git-raw-fmt1.0\51
[ERR!] CODE : undefined
[ERR!] path exists but is not a directory C:\Users\jenkins\AppData\Roaming\tsd-cache\borisyankov-DefinitelyTyped\git-raw-fmt1.0\51
[ERR!] If you need help, you may report this error at:
https://github.com/DefinitelyTyped/tsd/issues
[ERR!] .tsdrc could not be retrieved
[ERR!] Please include the following file with any support request:
c:\j\vNext Dev Deploy\Foo.Web\tsd-debug.log
npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "tsd:install"
npm ERR! node v0.12.7
npm ERR! npm v2.14.1
npm ERR! code ELIFECYCLE
npm ERR! [email protected] tsd:install: `tsd reinstall`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] tsd:install script 'tsd reinstall'.
npm ERR! This is most likely a problem with the Foo package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! tsd reinstall
npm ERR! You can get their info via:
npm ERR! npm owner ls Foo
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! c:\j\vNext Dev Deploy\Foo.Web\npm-debug.log
์ด๊ฒ์ CI ์๋ฒ (jenkins)์์ ์๋นํ ์ ๊ธฐ์ ์ผ๋ก ๋ฐ์ํฉ๋๋ค. @jwcarroll๊ณผ ๋์ผํ ์ถ๋ ฅ์ ์ป์ต๋๋ค.
๋ค๋ฅธ ๋ฐ์ดํฐ ํฌ์ธํธ๋ฅผ ์๋ฆฌ๊ธฐ ์ํด ์ฐ๋ฆฌ๋ ๋ฐฐํฌ ํ๋ก์ธ์ค ์ค์๋ ์ด๊ฒ์ ๊ฒฝํํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๋๋ต 1 ~ 2 ์ฃผ ์ ์ TSD๋ฅผ ์ฌ์ฉํ๊ธฐ ์์ํ๊ณ , 3 ๊ฐ์ ์ผ๊ฐ ๋น๋์์ ์ด๋ฐ ์ผ์ด ๋ฐ์ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋น๋ ๋จธ์ ์ ๋ก๊ทธ์ธํ๊ณ ๋์ผํ ๋๋ ํ ๋ฆฌ์์ ๋์ผํ "/ usr / bin / nodejs /[path-to-project]/node_modules/.bin/tsd install"์ ์คํํ์ฌ ์๋ํ๊ณ ์ง๋จํ๋ฉด ์ฌํ ํ ์ ์์ต๋๋ค. ๊ทธ๊ฒ๊ณผ tsd๊ฐ ์ ์คํ๋์์ต๋๋ค.
[ERR!] cwd : /[path-to-project]
[ERR!] os : Linux 3.2.0-67-virtual
[ERR!] argv : "/usr/bin/nodejs" "/[path-to-project]/node_modules/.bin/tsd" "install"
[ERR!] node : v4.2.3
[ERR!] tsd : 0.6.5
[ERR!] Error: ENOENT: no such file or directory, open '/root/.tsd-cache/DefinitelyTyped-DefinitelyTyped/git-raw-fmt1.0/a0/a01aa4eefc1319b5e8fcd210aa759ff041e23d90.raw'
[ERR!] CODE : ENOENT
[ERR!] ENOENT: no such file or directory, open '/root/.tsd-cache/DefinitelyTyped-DefinitelyTyped/git-raw-fmt1.0/a0/a01aa4eefc1319b5e8fcd210aa759ff041e23d90.raw'
This is most likely not a problem with tsd itself
and is related to tsd not being able to find a file.
[ERR!]
Error: ENOENT: no such file or directory, open '/root/.tsd-cache/DefinitelyTyped-DefinitelyTyped/git-raw-fmt1.0/a0/a01aa4eefc1319b5e8fcd210aa759ff041e23d90.raw'
at Error (native)
[ERR!] tsd.json: {"version":"v4","repo":"DefinitelyTyped/DefinitelyTyped","ref":"master","path":"typings","bundle":"typings/tsd.d.ts","installed":{"jquery/jquery.d.ts":{"commit":"ba424f7ee39717d51c17699a09ac8df312a7e9a1"},"chosen/chosen.jquery.d.ts":{"commit":"52b0ea5c9719831eecf6ba7436660e30061a4b3c"},"core-js/core-js.d.ts":{"commit":"d0adccc436197cc7c3559322721e9df86b892bd6"},"moment/moment.d.ts":{"commit":"d28dd90af5a7ba2b4f18b107ddba3321a5a1f629"},"moment/moment-node.d.ts":{"commit":"d28dd90af5a7ba2b4f18b107ddba3321a5a1f629"},"fullCalendar/fullCalendar.d.ts":{"commit":"d28dd90af5a7ba2b4f18b107ddba3321a5a1f629"},"node/node.d.ts":{"commit":"b9a05cb4c96ae9961bbc41fbd7df9105c3b8fbd0"},"browserify/browserify.d.ts":{"commit":"b9a05cb4c96ae9961bbc41fbd7df9105c3b8fbd0"},"glob/glob.d.ts":{"commit":"b9a05cb4c96ae9961bbc41fbd7df9105c3b8fbd0"},"minimatch/minimatch.d.ts":{"commit":"b9a05cb4c96ae9961bbc41fbd7df9105c3b8fbd0"},"jsdom/jsdom.d.ts":{"commit":"b9a05cb4c96ae9961bbc41fbd7df9105c3b8fbd0"},"react/react.d.ts":{"commit":"b9a05cb4c96ae9961bbc41fbd7df9105c3b8fbd0"},"webpack/webpack.d.ts":{"commit":"ba424f7ee39717d51c17699a09ac8df312a7e9a1"}}}
[ERR!] .tsdrc could not be retrieved
[ERR!] Please include the following file with any support request:
/[path-to-project]/tsd-debug.log
Jenkins ์๋ฒ์์๋ ์ผ์ฃผ์ผ์ ํ ๋ฒ์ด ๋ฌธ์ ๋ฅผ ๋ด ๋๋ค. gulp-tsd ํ๋ฌ๊ทธ์ธ์ ํตํด tsd๋ฅผ ํ์ฉํ๊ณ ์์ต๋๋ค. ๊ฐ๋ฐ ์์คํ ์์๋์ด ๋ฌธ์ ๋ฅผ ๋ณด์ง ๋ง์ญ์์ค. ENOENT ์ฝ๋ ๋๋ ๋ค๋ฅธ ํ์ผ ๊ด๋ จ ๋ฌธ์ ๋ก ์ธํด ์คํจ ํ ์ ์์ต๋๋ค. ๋ฌธ์ ๊ฐ๋๋ ํ์ผ์ ์ฐพ์ผ๋ฉด ๋ถ๋ช ํ ๊ฑฐ๊ธฐ์ ์์ผ๋ฏ๋ก ์ด๊ฒ์ด ๋น๋๊ธฐ ํ์ผ ์ฝ๊ธฐ ๋ฌธ์ ์ผ ๊ฐ๋ฅ์ฑ์ด ์๋ค๊ณ ๋ฏฟ๊ฒ๋ฉ๋๋ค. ์ ์ฒด tsd ์บ์๋ฅผ ์ญ์ ํ๋ฉด ์ผ๋ง ๋์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๊ณ ๋ค์ ๋์ ์ค๋ ๊ฒ ๊ฐ์ต๋๋ค.
[12:55:08] Using gulpfile D:\ws\project\web\gulpfile.js
[12:55:08] Starting 'tsd'...
[12:55:12] [gulp-tsd] execute command: reinstall
[12:55:12] [gulp-tsd] config: ./tsd.json
[12:55:12] [gulp-tsd] latest: undefined
[12:55:12] [gulp-tsd] running...
---
path exists but is not a directory C:\Users\$buildmaster722\AppData\Roaming\tsd-cache\DefinitelyTyped-DefinitelyTyped\git-raw-fmt1.0\53
D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\node_modules\bluebird\js\main\async.js:93
throw res.e;
^
EXEC : error : path exists but is not a directory C:\Users\$buildmaster722\AppData\Roaming\tsd-cache\DefinitelyTyped-DefinitelyTyped\git-raw-fmt1.0\53 [D:\ws\project\Build.xml]
at D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\build\xm\fileIO.js:117:28
at tryCatch1 (D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\node_modules\bluebird\js\main\util.js:63:19)
at Promise$_callHandler [as _callHandler] (D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\node_modules\bluebird\js\main\promise.js:695:13)
at Promise$_settlePromiseFromHandler [as _settlePromiseFromHandler] (D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\node_modules\bluebird\js\main\promise.js:711:18)
at Promise$_settlePromiseAt [as _settlePromiseAt] (D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\node_modules\bluebird\js\main\promise.js:868:14)
at Promise$_settlePromises [as _settlePromises] (D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\node_modules\bluebird\js\main\promise.js:1006:14)
at Async$_consumeFunctionBuffer [as _consumeFunctionBuffer] (D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\node_modules\bluebird\js\main\async.js:74:12)
at Async$consumeFunctionBuffer (D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\node_modules\bluebird\js\main\async.js:37:14)
at doNTCallback0 (node.js:407:9)
at process._tickCallback (node.js:336:13)
D:\ws\project\Build.xml(69,3): error MSB3073: The command "gulp build" exited with code 1.
EXEC : error : path exists but is not a directory C:\Users\$buildmaster722\AppData\Roaming\tsd-cache\DefinitelyTyped-DefinitelyTyped\git-raw-fmt1.0\53 [D:\ws\project\Build.xml]
at D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\build\xm\fileIO.js:117:28
at tryCatch1 (D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\node_modules\bluebird\js\main\util.js:63:19)
at Promise$_callHandler [as _callHandler] (D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\node_modules\bluebird\js\main\promise.js:695:13)
at Promise$_settlePromiseFromHandler [as _settlePromiseFromHandler] (D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\node_modules\bluebird\js\main\promise.js:711:18)
at Promise$_settlePromiseAt [as _settlePromiseAt] (D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\node_modules\bluebird\js\main\promise.js:868:14)
at Promise$_settlePromises [as _settlePromises] (D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\node_modules\bluebird\js\main\promise.js:1006:14)
at Async$_consumeFunctionBuffer [as _consumeFunctionBuffer] (D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\node_modules\bluebird\js\main\async.js:74:12)
at Async$consumeFunctionBuffer (D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\node_modules\bluebird\js\main\async.js:37:14)
at doNTCallback0 (node.js:407:9)
at process._tickCallback (node.js:336:13)
D:\ws\project\Build.xml(69,3): error MSB3073: The command "gulp build" exited with code 1.
[10:39:43] Using gulpfile D:\ws\project\web\gulpfile.js
[10:39:43] Starting 'tsd'...
[10:39:45] [gulp-tsd] execute command: reinstall
[10:39:45] [gulp-tsd] config: ./tsd.json
[10:39:46] [gulp-tsd] latest: undefined
[10:39:46] [gulp-tsd] running...
---
ENOENT: no such file or directory, open 'C:\Users\$buildmaster722\AppData\Roaming\tsd-cache\DefinitelyTyped-DefinitelyTyped\git-raw-fmt1.0\d7\d70d12a88d7a6b3f711dadb0fde5b3387c0a860e.raw'
D:\ws\project\web\node_modules\gulp-tsd\node_modules\tsd\node_modules\bluebird\js\main\async.js:93
throw res.e;
^
EXEC : error : ENOENT: no such file or directory, open 'C:\Users\$buildmaster722\AppData\Roaming\tsd-cache\DefinitelyTyped-DefinitelyTyped\git-raw-fmt1.0\d7\d70d12a88d7a6b3f711dadb0fde5b3387c0a860e.raw' [D:\ws\project\build.xml]
at Error (native)
์ด ์ฌ๊ฑด์ ๋ํ ์๋ก์ด ์๊ฐ? ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค
12:26:46 [FrontEnd] ์ค๋ฅ : "/home/jenkins/.tsd-cache/borisyankov-DefinitelyTyped/git-raw-fmt1.0/58/585e78ba1ed6a3b9d25722f40429c3ba934ea79d.json"์ stat ํ ์ ์์ : ์ค๋ฅ : ENOENT : ํด๋น ์์ ํ์ผ ๋๋ ๋๋ ํ ๋ฆฌ, stat '/home/jenkins/.tsd-cache/borisyankov-DefinitelyTyped/git-raw-fmt1.0/58/585e78ba1ed6a3b9d25722f40429c3ba934ea79d.json'
ํ์ง๋ง ํ์ผ์ด ์์ต๋๋ค
# stat /home/jenkins/.tsd-cache/borisyankov-DefinitelyTyped/git-raw-fmt1.0/58/585e78ba1ed6a3b9d25722f40429c3ba934ea79d.json
File: โ/home/jenkins/.tsd-cache/borisyankov-DefinitelyTyped/git-raw-fmt1.0/58/585e78ba1ed6a3b9d25722f40429c3ba934ea79d.jsonโ
Size: 501 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 4485381 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1002/ jenkins) Gid: ( 1002/ jenkins)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2019-02-21 13:08:24.000000000 +0100
Modify: 2019-02-20 14:25:54.000000000 +0100
Change: 2019-02-21 13:08:24.838670651 +0100
Birth: -
์ด ์์ ์์ tsd๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ ํ์ ์ด์ @types
๋ค์ ์คํ์ด์ค ๋๋ JS ํจํค์ง ๋ด๋ถ์ ์ง์ npm์ ๊ฒ์๋ฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด ์์ ์์ tsd๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ ํ์ ์ด์
@types
๋ค์ ์คํ์ด์ค ๋๋ JS ํจํค์ง ๋ด๋ถ์ ์ง์ npm์ ๊ฒ์๋ฉ๋๋ค.