

TypeScriptでSymbolを使ったコードを書いたのですがtscがtsconfig.jsonに基づいてコンパイルしてくれないためにエラーが発生してしまいます。

以下がTypeScriptのコードです。

main.ts

[code]

    let symbol = Symbol();
    
[/code]

ここで、`tsc main.ts`コマンドをコマンドラインに入力すると、

[code]

    error TS2585: 'Symbol' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later.
    
[/code]

というエラーがでました。

`tsc
-init`でtsconfig.jsonを生成し、以下のように編集しもう一度同じコマンドを入力しましたが結果は同じでした。（libオプションにes6を指定した。）  
tsconfig.json

[code]

    {
      "compilerOptions": {
        "target": "es6",                               
        "lib": ["DOM","ES6"],                                   
        "strict": true,                                 /* Enable all strict type-checking options. */
        "esModuleInterop": true,                        /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
        "skipLibCheck": true,                           /* Skip type checking of declaration files. */
        "forceConsistentCasingInFileNames": true        /* Disallow inconsistently-cased references to the same file. */
      }
    }
    
[/code]

tscがtsconfig.jsonを使用せずにコンパイルしようとしているのではないかと思い、`tsc main.ts -lib
"es6"`と入力するとちゃんとコンパイルが通りました。

このことから私はtsconfig.jsonが使用されていないと思いました。。

`-p`オプションでtsconfig.jsonをして指定してすると、うまく動くという情報を目にしたので試してみたのですがそれもうまくいきませんでした。(`tsc
-p tsconfig.json`)

どうすればtscがtsconfig.jsonの内容に基づいてコンパイルしてくれるのでしょうか？

ちなみにtscはグローバルインストールしています。

## バージョン

tsc: 4.3.5

## 構成

[code]

    ./
    ├── main.js
    ├── main.ts
    └── tsconfig.json
    
[/code]


CC BY-SA 4.0
2021-08-20T15:39:35.077
80938
2021-08-24T03:13:32.700
2021-08-24T03:13:32.700
44610
44610
question
typescript
tscがtsconfig.jsonを使用してくれない。