2015/05/26

tsdが「an error occured!」とエラーを吐いたときの対処方法

TypeScriptの型定義ファイル管理ツールの「tsd」を使おうとしたときに、an error occured! SyntaxErrorというエラーを吐いた。
このときの対処法をまとめる。


顛末


  1. 開発環境構築メンドーだから前使ったやつコピーしよう
  2. 「tsd.json」に書かれている不要な型定義ファイル消そう
    … installed内に追加されている型定義ファイルを削除
  3. 必要な型定義ファイルをインストールしよう
    > tsd query hoge
  4. an error occured! ファッ!?



エラー内容


E:\GitHub\TypeScript-Vuejs-TodoApp\src>tsd query vue

>> tsd 0.5.7

-> an error occured!

SyntaxError: Unexpected token }
at Object.parse (native)
at JSONStabilizer.parseString (C:\Users\rikko\AppData\Roaming\npm\node_modules\tsd\build\api.js:1946:31)
at Config.parseJSONString (C:\Users\rikko\AppData\Roaming\npm\node_modules\tsd\build\api.js:2660:41)
at C:\Users\rikko\AppData\Roaming\npm\node_modules\tsd\build\api.js:6595:47
at _fulfilled (C:\Users\rikko\AppData\Roaming\npm\node_modules\tsd\node_modules\q\q.js:798:54)
at self.promiseDispatch.done (C:\Users\rikko\AppData\Roaming\npm\node_modules\tsd\node_modules\q\q.js:827:30)
at Promise.promise.promiseDispatch (C:\Users\rikko\AppData\Roaming\npm\node_modules\tsd\node_modules\q\q.js:760:13)
at C:\Users\rikko\AppData\Roaming\npm\node_modules\tsd\node_modules\q\q.js:574:44
at flush (C:\Users\rikko\AppData\Roaming\npm\node_modules\tsd\node_modules\q\q.js:108:17)
at process._tickCallback (node.js:355:11)


エラーの原因


エラーの内容としてはSyntaxError > JSONStabilizer.parseStringということで、どうやら「tsd.json」に問題があった

原因はなんとも情けない。
installedに消し忘れた閉じ括弧が残っていたからだった。
// tsd.json
{
  "version": "v4",
  "repo": "borisyankov/DefinitelyTyped",
  "ref": "master",
  "path": "typings",
  "bundle": "typings/tsd.d.ts",
  "installed": {
    }  // ←これ
  }
}



以上

written by @bc_rikko

0 件のコメント :

コメントを投稿