Erlang:如何使用指定位置安装Erlang for Windows

时间:2018-04-11 13:30:10

标签: erlang rabbitmq

我想安装Erlang for Windows。 Erlang提供Windows安装程序,但安装程序会将Erlang安装到固定文件夹“Program Files”中。 我需要将Erlang安装到可选位置。

请告诉我如何使用我想要安装的路径安装Erlang for Windows。

2 个答案:

答案 0 :(得分:1)

RabbitMQ团队监控the rabbitmq-users mailing list,有时只回答StackOverflow上的问题。

您可以运行以下命令来指定其他安装位置。请注意,您应该以管理用户身份运行安装程序:

otp_win64_20.3.exe /S /D=C:\the\path\you\want

答案 1 :(得分:0)

感谢@Luke Bakken的回答。我能够将其包装到脚本中,并在这里将其复制,以防有人觉得有用。我也是从https://gist.github.com/chgeuer/8342314

借来的
Function Install-Erlang {
    Try{
        "Starting Erlang installation..."
        # Install Erlang
        # Update/review below path along with version of erlang being installed
        $args = "/S /D=C:\erl10.2"
        Start-Process -Wait otp_win64_21.2.exe -ArgumentList $args
    }
    Catch{
        Write-Error "Function Install-Prerequisites failed:" $_
        Exit 1
    }
    "Erlang installed successfully"
    #
    # Determine Erlang home path
    #
    $ERLANG_HOME = ((Get-ChildItem HKLM:\SOFTWARE\Wow6432Node\Ericsson\Erlang)[0] | Get-ItemProperty).'(default)'
    [System.Environment]::SetEnvironmentVariable("ERLANG_HOME", $ERLANG_HOME, "Machine")

    #
    # Add Erlang to the path if needed
    #
    $system_path_elems = [System.Environment]::GetEnvironmentVariable("PATH", "Machine").Split(";")
    if (!$system_path_elems.Contains("%ERLANG_HOME%\bin") -and !$system_path_elems.Contains("$ERLANG_HOME\bin")) 
    {
        Write-Host "Adding erlang to path"
        $newpath = [System.String]::Join(";", $system_path_elems + "$ERLANG_HOME\bin")
        [System.Environment]::SetEnvironmentVariable("PATH", $newpath, "Machine")
    }
}