choco install erlang --forcex86=true
이렇게 하면 설치는 제대로 되지만 shim이 잘못된 위치(64bit용 위치 즉, \Program Files\ 아래)를 가리키게 되어있어서 오류가 난다.
PS C:\ProgramData\chocolatey> erl
Cannot find file at 'c:\program files/erl9.0/erts-9.0/bin/erl.exe' (c:\program files\erl9.0\erts-9.0\bin\erl.exe). This usually indicates a missing or moved file.
tools/shimgen.exe를 사용해서 다시 생성하면 해결된다.
PS C:\ProgramData\chocolatey\bin> ren erl.exe erl.exe.ERROR
PS C:\ProgramData\chocolatey\bin> ..\tools\shimgen.exe -o C:\ProgramData\chocolatey\bin\erl.exe -p 'C:\Program Files (x8
6)\erl9.0\bin\erl.exe'
PS C:\ProgramData\chocolatey\bin> ren .\werl.exe werl.exe.ERROR
PS C:\ProgramData\chocolatey\bin> ..\tools\shimgen.exe -o C:\ProgramData\chocolatey\bin\werl.exe -p 'C:\Program Files (x
86)\erl9.0\bin\werl.exe'
제목을 'chocolatey에서 shim이 잘못되었을 때 새로 생성하는 방법'으로 할걸 그랬나?
happy hackin'
2018-10-23 추가:
오늘 새로 생긴 박스에 설정하면서 새로 깔아보니 아래와 같은 메시지가 보였다. 이것이 의미하는 바는... 저 5개의 실행파일 모두에 대해서 shimgen을 해 주어야한다는 것이다.
......
Installing erlang...
erlang has been installed.
Added C:\ProgramData\chocolatey\bin\erl.exe shim pointed to 'c:\program files/erl10.0.1/erts-10.0.1/bin/erl.exe'.
Added C:\ProgramData\chocolatey\bin\werl.exe shim pointed to 'c:\program files/erl10.0.1/erts-10.0.1/bin/werl.exe'.
Added C:\ProgramData\chocolatey\bin\erlc.exe shim pointed to 'c:\program files/erl10.0.1/erts-10.0.1/bin/erlc.exe'.
Added C:\ProgramData\chocolatey\bin\escript.exe shim pointed to 'c:\program files/erl10.0.1/erts-10.0.1/bin/escript.exe'.
Added C:\ProgramData\chocolatey\bin\dialyzer.exe shim pointed to 'c:\program files/erl10.0.1/erts-10.0.1/bin/dialyzer.exe'.
......