日記

内容の正しさは保証しません

emscriptenのインストール

環境

  • OS: Windows10 Pro
  • ターミナル: msys2上のmintty
  • python: msysのpython3.8.7-1

インストールの手順

公式サイト1に書いてあるように、

git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install latest
./emsdk activate latest
source ./emsdk_env.sh

とする。しかし3行目で

[Errno 22] Invalid argument: '\\\\?\\\\C:\\hogehagehoge.....

となって失敗するので、クローンしたらemsdk.pyのfix_potentially_long_windows_pathname関数の

pathname = os.path.normpath(pathname.replace('/', '\\'))

コメントアウトする(試してないけどこれは関係ないかも?)。そして

return '\\\\?\\' + pathname

return pathname

に置き換える。

今回詰まった原因は多分

  1. \\\\?\\を処理できない
  2. /homeは良いけど\\homeはエラーになるように、/\\に置換できないことがある

の2点なので、if not WINDOWSif not WINDOWS or MSYSにしても同じだと思うけど、なぜか失敗した。

もし同じことが起きたら、作業しやすいようにdownload_even_if_existsFalseにする。むだにダウンロードし直さなくなる。あと、インストールに失敗したnodeなどはディレクトリを削除するとアンインストールできる。