web-dev-qa-db-ja.com

同じファイル名の相対パスで「ファイル名が既に含まれているファイル名と大文字と小文字が異なる」

エラーTS1149:ファイル名「C:/Project/frontend/scripts/State.ts」は、既に含まれているファイル名「../frontend/scripts/State.ts」と大文字と小文字のみが異なります。

参考文献で大文字と小文字を3回確認しましたが、実際のファイルにも正しい大文字と小文字が含まれています。私が知る限り、これは単に相対パスが間違った大文字と小文字を使用しているからですか、それとも単に相対パス自体のためですか?

問題は、MacとLinuxでは問題なくコンパイルできますが、Windowsではこのエラーがスローされることです。

役立つ場合は、tsconfigでforceConsistentCasingInFileNamesが有効になっており、tsifyを使用してコンパイルしています。

13
zuddsy

答えは、forceConsistentCasingInFileNamesが4.0.0までサポートされていなかったtisfy 1.0.1を使用していたことです。更新により問題が修正されました。

0
zuddsy

私の場合、エラーはimportステートメントにありました。インポートステートメントには小文字の代わりに大文字がありました。これはWindowsでの開発中に機能しましたが、実動用のコンパイル時には機能しませんでした。

違う:

import {SomeClass} from '/some/path/SomeClass.ts';

正しい:

import {SomeClass} from '/some/path/someClass.ts';
16
Martin Åhlin

「React」を「react」に変更するとうまくいきました。

間違った:

import React from "React";

正しい:

import React from "react";
0
Shafqat Ali