かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

React Native for Windows で metro のエラーが出る時の対応方法

こんなエラーが出てました。そして解決もしました。自分以外にこのエラーに会う人は稀だと思うけど自分用にメモ。

bundling failed: ReferenceError: SHA-1 for file C:\xxxxx\xxxx.js (C:\Users\xxxx\Documents\xxxx\xxxx.js) is not computed

f:id:okazuki:20200206184530p:plain

エラーメッセージの最初のファイル名と括弧の中のファイル名が違うのがポイント。

原因

私は、ドキュメントフォルダー以下にある Repos と Labs フォルダーをシンボリックリンクを張って C:\Repos と C:\Labs でアクセスできるようにしてます。理由は npm とか Xamarin とかでパスが長すぎてエラーになる問題への対応のためです。

blog.okazuki.jp

少し前にも、この運用のせいでエラーにあいました。 確か Blazor の WebAssembly のデバッグだったかな?今回も、シンボリックリンクと実フォルダーのパスをyarn startで起動したやつと、RN4W の UWP アプリが別々のほうを見に行ってるみたいで、エラーになっていたみたいです。

ちゃんと実フォルダーにプロジェクトを作るとうまくいきました。

シンボリックリンク辞めようかな…。