如果您遇到以下错误
args: ["c:/WINDOWS/System32/drivers/etc/hosts",1]
format: "inet_parse:~p:~p: erroneous line, SKIPPED~n"
label: {error_logger,info_msg}
inet_parse:"c:/WINDOWS/System32/drivers/etc/hosts":1: erroneous line, SKIPPED
问题描述及解决办法
你遇到的问题是由于Erlang的inet_parse
函数在解析hosts
文件时遇到了非ASCII编码的行,从而导致了错误。这通常发生在其他应用程序(如Docker)访问并修改了hosts
文件,将其编码从ASCII更改为UTF-8时。虽然这对日常使用通常没有影响,但Erlang的inet_parse
函数对此并不兼容。
为了解决这个问题,你需要将hosts
文件的编码更改回ASCII。这可以通过执行PowerShell命令来实现。请按照以下步骤操作:
-
以管理员身份打开PowerShell窗口:在开始菜单中搜索“PowerShell”,然后右键点击“Windows PowerShell”并选择“以管理员身份运行”。
-
执行PowerShell命令:在打开的PowerShell窗口中,输入以下命令并按Enter键执行:
Get-Content -Path "C:\Windows\System32\drivers\etc\hosts" | Out-File -FilePath "C:\Windows\System32\drivers\etc\hosts" -Encoding ascii
这应该可以解决上述问题。如果这对您没有帮助,请确保您的主机文件没有以任何其他方式损坏。