更改 MiKTeX 中自动安装软件包的位置

更改 MiKTeX 中自动安装软件包的位置

这是 MiKTeX 特有的软件问题:我启用了软件包自动下载功能,这样如果我尝试使用现有目录树中没有的样式,它就会从 CTAN 下载并安装。问题是 MiKTeX 将其安装在%APPDATA%(at C:\Documents and Settings\<user>\Application Data\MiKTeX\2.9) 下,这会使我的漫游配置文件膨胀。有没有办法更改此目标?

我已经为我自己安装的样式创建了另一个根目录,但我无法让 MiKTeX 将其用于自动安装的软件包。在 MiKTeX 设置 ( mo.exe) 中的根目录中,该%APPDATA%文件夹带有标签“UserInstall”。它不允许我编辑或删除其路径,或将另一个根目录标记为“UserInstall”。有没有办法做到这一点,还是我只能手动重新排列下载的软件包?

答案1

正如 Ulrike 在上面的评论中解释的那样,MikTeX 似乎UserInstall只允许在安装期间配置目录。因此,最简单的方法是重新安装它,从命令行使用合适的选项调用安装程序。安装程序的完整命令行选项集是记录在这里。

我首先通过从“开始”菜单运行卸载程序来删除现有的 MikTeX。然后我打开命令提示符(在 Windows 上),切换到包含下载的安装程序的目录,并运行以下命令:

C:\...> basic-miktex-***.exe --shared --user-install="C:\Path\to\my\root"

我使用了,--shared因为它是为所有用户安装的,但在安装对话框中我还是被再次询问了。还有选项--user-config--user-data(我不介意将它们保留在默认位置)。

我刚刚设置了一台新电脑,所以这很容易。我关注最佳实践并保留所有样式文件不是由 MikTeX 在单独的 texmf 层次结构中管理,因此在卸载之前无需挽救任何东西。但是,如果你已经将非 CTAN 样式放入 MikTeX texmf 树中(绝对不是一个好主意),或者拥有巨大的 texmf 树和缓慢的互联网连接,或者经常离线使用计算机并且不想因缺少软件包而感到惊讶,你可以按照此程序,它允许您使用旧texmf树作为新安装的数据源(感谢@Speravir 的指点)。

答案2

与接受的答案相反,重新安装并不“容易”。 可以在注册表中进行简单的编辑:软件包的安装目录设置在 HKEY_LOCAL_MACHINE\SOFTWARE\MiKTeX.org\MiKTeX\2.9\Core\UserInstall

答案3

我通过从 cmd 提示符执行安装程序作为便携式安装来解决:

basic-miktex-21.12-x64.exe --private --auto-install=yes --paper-size=A4 --portable=<destination-dir>

并将<destination-dir>\install\miktex\bin\x64文件夹手动添加到 HKCU:\Environment\Path

相关内容