環境
- 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
に置き換える。
今回詰まった原因は多分
\\\\?\\
を処理できない/home
は良いけど\\home
はエラーになるように、/
を\\
に置換できないことがある
の2点なので、if not WINDOWS
をif not WINDOWS or MSYS
にしても同じだと思うけど、なぜか失敗した。
もし同じことが起きたら、作業しやすいようにdownload_even_if_exists
はFalse
にする。むだにダウンロードし直さなくなる。あと、インストールに失敗したnodeなどはディレクトリを削除するとアンインストールできる。