我在尝试着自动化在 Windows 7 机器上安装 MikTeX,但在代理定义方面失败。使用 GUI 手动定义效果很好,但基于批处理文件的安装效果不佳。
根据手动的应该可以通过环境变量来定义代理,但这对我来说不起作用。
set ALL_PROXY=my.proxy.name:3128
我已经使用(FTP_PROXY
以及)设置了代理HTTP_PROXY
,但在尝试更新软件包时,我仍然收到众所周知的错误消息
mpm --admin --repository=ftp://ftp.rrzn.uni-hannover.de/pub/mirror/tex-archive/systems/win32/miktex/tm/packages/ --verbose --update-db
mpm: Host not found
mpm: Data: get host by name failed in tcp_connect()
有人成功通过批处理文件提供代理设置吗?
答案1
我看到两种解决方法。
首先:使用Ulrike 建议--proxy
的选项mpm --verbose --trace --update-db --proxy=my.proxy.name:8080 --repository=ftp://ftp.rrzn.uni-hannover.de/putex-archive/systems/win32/miktex/tm/packages/
。此方法解决了必须为每个命令提供代理参数的缺点mpm
(没有像环境变量那样的持久设置)。由于默认存储库似乎不存在,因此还需要指定存储库。
第二:可以通过操作注册表使设置持久化。
reg add HKEY_CURRENT_USER\Software\MiKTeX.org\MiKTeX\2.9\MPM /v ProxyAuthReq /t REG_SZ /d f /f
reg add HKEY_CURRENT_USER\Software\MiKTeX.org\MiKTeX\2.9\MPM /v ProxyHost /t REG_SZ /d my.proxy.name /f
reg add HKEY_CURRENT_USER\Software\MiKTeX.org\MiKTeX\2.9\MPM /v ProxyPort /t REG_SZ /d 8080 /f
reg add HKEY_CURRENT_USER\Software\MiKTeX.org\MiKTeX\2.9\MPM /v RepositoryType /t REG_SZ /d remote /f
reg add HKEY_CURRENT_USER\Software\MiKTeX.org\MiKTeX\2.9\MPM /v UseProxy /t REG_SZ /d t /f
reg add HKEY_CURRENT_USER\Software\MiKTeX.org\MiKTeX\2.9\MPM /v RemoteRepository /t REG_SZ /d ftp://ftp.rrzn.uni-hannover.de/pub/mirror/tex-archive/systems/win32/miktex/tm/packages/ /f