使用命令行界面获取和安装 Qt
使用 Qt 在线安装程序和 Qt 维护工具通过命令行界面安装、卸载、更新和搜索组件。
命令行界面支持交互式和非交互式使用(无人值守使用)。以下主题提供了关于如何使用命令行界面的示例和信息
安装组件名称:
使用别名包快速安装:
注意:使用别名包的快速安装将在 Qt 在线安装程序 4.8 版本中提供。
安装时,您可以不搜索特定的包名称,而是使用别名包来安装最常见的配置。别名包是包含实际包的快捷方式,以便更容易进行安装。
使用以下命令在命令行界面中列出现有的别名包
installer.exe / maintenancetool.exe search
别名包的内容列在下面的表格中。
注意:以下列出别名包示例中使用了 Qt 6.7.0 版本。请始终确保使用与您正在工作的 Qt 发布版匹配的包。
别名包名称 | Qt 在线安装程序(包含的包内容) |
---|---|
qt6.7.0-essentials |
|
qt6.7.0-essentials-dev |
|
qt6.7.0-full | |
qt6.7.0-full-dev | |
qt6.7.0-full-dbg | |
qt6.7.0-sdk |
|
Qt 在线安装程序命令示例
# Windows: new installation with Qt Online Installer qt-unified-windows-x64-[Qt Online Installer version]-online.exe install qt6.7.0-sdk # macOS: new installation with Qt Online Installer hdiutil attach qt-unified-macOS-x64-[Qt Online Installer version]-online.dmg /Volumes/qt-unified-macOS-x64-[Qt Online Installer version]-online/qt-unified-macOS-x64-[Qt Online Installer version]-online.app/Contents/MacOS/qt-unified-macOS-x64-[Qt Online Installer version]-online install qt6.7.0-sdk hdiutil detach /Volumes/qt-unified-macOS-x64-[Qt Online Installer version]-online # Linux: new installation with Qt Online Installer qt-unified-linux-x64-[Qt Online Installer version]-online.run install qt6.7.0-sdk
列出非别名包:
使用以下命令在命令行界面中列出非别名包:
installer.exe / maintenancetool.exe search --type package
高级搜索特定安装包:
使用search
命令和正则表达式搜索可用包:search <regexp>
。您可以使用--filter-packages <regexp>
筛选结果。例如,使用显示名称信息进行筛选可以帮助搜索。
例如,以下命令找到了所有 Qt 6.7.0 的 MSVC 2019 包:
search .*670.*msvc2019
您将得到以下筛选搜索结果:
search --filter-packages DisplayName=MSVC 2019,Version=6.7.0
因此,您将得到以下程序包:
<availablepackages> <package name="qt.qt6.670.win64_msvc2019_64" displayname="MSVC 2019 64-bit" version="6.7.0-0-202303290841"/> <package name="qt.qt6.670.win64_msvc2019_arm64" displayname="MSVC 2019 ARM64 (TP)" version="6.7.0-0-202303290841"/> </availablepackages>
您还可以在搜索提供特定包的所有 Qt 版本时使用筛选。例如,搜索为 Qt 版本提供的所有 Qt Charts 包
search --filter-packages DisplayName=charts
搜索结果如下
<availablepackages> <package name="qt.qt5.5125.qtcharts" displayname="Qt Charts" version="5.12.5-0-201909090651"/> <package name="qt.qt6.641.addons.qtcharts" displayname="Qt Charts" version="6.4.1-0-202211101525"/> <package name="qt.qt5.5123.qtcharts" displayname="Qt Charts" version="5.12.3-0-201904161619"/>
无用户交互安装
默认情况下,Qt Online 安装程序或 Qt 维护工具在安装过程中可能会请求更多信息,这需要用户注意。可以通过在命令行界面之前提供所有请求的信息来实现无人值守使用。
使用 Qt Online 安装程序进行新安装
您可以按以下方式从命令行界面无用户交互地执行新安装
- 定义 Qt Online 安装程序 可执行文件。
- 使用
--root
定义安装目录。 - 使用带有 无用户交互选项 的
install <包列表>
命令。有关可选参数的完整列表,请参见无用户交互选项。
以下示例演示了如何使用 Qt Online 安装程序在 Windows、macOS 和 Linux 上安装 Qt 6.7.0 二进制文件。无人值守命令自动接受许可证(--accept-licenses
)、回答所有消息查询的默认答案(--default-answer
)和跳过询问是否继续执行(--confirm-command
)。
# Windows: new installation with Qt Online Installer qt-unified-windows-x64-[Qt Online Installer version]-online.exe --root C:\Users\[username]\installation_dir --accept-licenses --default-answer --confirm-command install qt.qt6.670.win64_msvc2019_64 # macOS: new installation with Qt Online Installer qt-unified-macOS-x64-[Qt Online Installer version]-online.dmg --root /home/<username>/installation_dir --accept-licenses --default-answer --confirm-command install qt.qt6.670.clang_644 # linux: new installation with Qt Online Installer qt-unified-linux-x64-[Qt Online Installer version]-online.run --root /home/<username>/installation_dir --accept-licenses --default-answer --confirm-command install qt.qt6.670.gcc_64
无用户交互选项 列出了所有可用选项。
使用 Qt 维护工具更新安装
您可以通过以下方式从命令行界面无用户交互地更新现有安装
- 定义 Qt 维护工具 可执行文件。
- 使用带有 无用户交互选项 的
install <包列表>
。有关可选参数的完整列表,请参见 无用户交互选项。
以下示例演示了如何使用 Qt 维护工具将 Qt 6.7.0 二进制文件添加到 Windows、macOS 和 Linux 上的现有安装。无人值守命令自动接受许可证(--accept-licenses
)、回答所有消息查询的默认答案(--default-answer
)和跳过询问是否继续执行(--confirm-command
)。
# Windows: update installation with Qt Maintenance Tool MaintenanceTool.exe --accept-licenses --default-answer --confirm-command install qt.qt6.670.win64_msvc2019_64 # macOS: update installation with Qt Maintenance Tool MaintenanceTool.app/Contents/MacOS/MaintenanceTool --accept-licenses --default-answer --confirm-command install qt.qt6.670.clang_64 # linux: update installation with Qt Maintenance Tool MaintenanceTool.run --accept-licenses --default-answer --confirm-command install qt.qt6.670.gcc_64
无用户交互选项
以下表格列出了所有无人值守命令行使用的选项
无用户交互选项 | 描述 |
---|---|
--accept-licenses | 自动接受所有许可协议。 |
--accept-obligations | 在开源安装中,无需用户输入即可接受 Qt 开源使用义务。 |
--default-answer | 以默认答案回答所有消息查询。 |
--auto-answer <identifier=value> | 如果您想要对某些查询的不同答案,则可以使用此选项。例如,--auto-answer telemetry-question=Yes,AssociateCommonFiletypes=Yes 。有关所有消息标识符的列表,请参见自动回答消息标识符。 |
--accept-messages | 接受所有消息查询。 |
--reject-messages | 拒绝所有消息查询。 |
--confirm-command | 默认情况下,Qt Online 安装程序和 Qt 维护工具会打印出受选项影响组件的摘要。然后他们会请求权限以继续执行,以防止意外更改。此选项跳过请求权限。 |
--email <your_email> | 当您从命令行登录时提供电子邮件。有关更多信息,请参阅提供登录信息。 |
--pw <your_pw> | 当您从命令行登录时提供密码。有关更多信息,请参阅提供登录信息。 |
--file-query <标识=值> | 有时 Qt 在线安装程序会要求输入文件或文件夹的位置。您可以使用 --file-query <标识=值> 提供位置。例如,--file-query PathForSDP7=<路径_to_sdp> 。标识符在实际问题之前打印到命令行,您可以在那里获取标识符。 |
自动应答的消息标识符
使用 --auto-answer
选项提供特定查询的答案。以下表格列出了用于 --auto-answer
的已知标识符和值
ID | 值 | 默认值 |
---|---|---|
OperationDoesNotExistError | 终止,忽略 | 忽略 |
OverwriteTargetDirectory | 是,否 | 否 |
stopProcessesForUpdates | 重试,忽略,取消 | 取消 |
installationErrorWithCancel | 重试,忽略,取消 | 取消 |
installationErrorWithIgnore | 重试,忽略 | 忽略 |
AssociateCommonFiletypes | 是,否 | 是 |
telemetry-question | 是,否 | 是 |
提供登录信息
Qt 在线安装程序和 Qt 维护工具具有强制登录。如果缓存中存在,强制登录将使用 qtaccount.ini 文件中的信息。您可以在以下位置找到 qtaccount.ini:
主机 | qtaccount.ini 位置 |
---|---|
Windows | C:\Users\<用户名>\AppData\Roaming\Qt |
macOS | /Users/<用户名>/Library/Application Support/Qt/qtaccount.ini |
Linux | /home/<用户名>/.local/share/Qt/qtaccount.ini |
可选地,您可以使用命令行通过电子邮件和密码切换登录: --email <你的电子邮件>
和 --pw <你的密码>
。
或者,您可以将 jwt 令牌保存到环境变量 QT_INSTALLER_JWT_TOKEN
。您可以在 qtaccount.ini 文件中找到令牌。
用户交互安装
您可以使用以下方式使用带用户交互的命令行界面:
- 定义可执行文件
- Qt 在线安装程序 如果您需要进行全新安装。
- Qt 维护工具 如果您需要更新现有安装。
- 进行全新安装时,请使用
--root
定义安装目录。 - 使用
install <包列表>
安装列出的包。
以下示例展示了如何使用 Windows、macOS 和 Linux 的 Qt 在线安装程序创建 Qt 6.7.0 二进制程序的新安装。
# Windows: new installation with user interaction qt-unified-windows-x64-[Qt Online Installer version]-online.exe --root C:\Users\[username]\installation_dir install qt.qt6.670.win64_msvc2019_64 # macOS: new installation with user interaction qt-unified-macOS-x64-[Qt Online Installer version]-online.dmg --root /home/<username>/installation_dir install qt.qt6.670.clang_64 # linux: new installation with user interaction qt-unified-linux-x64-[Qt Online Installer version]-online.run --root /home/<username>/installation_dir install qt.qt6.670.gcc_64
以下示例展示了如何通过使用 Qt 维护工具安装 Qt 6.7.0 二进制程序来更新您的现有安装。
# Windows: update installation with Qt Maintenance Tool MaintenanceTool.exe install qt.qt6.670.win64_msvc2019_64 # macOS: update installation with Qt Maintenance Tool MaintenanceTool.dmg install qt.qt6.670.clang_64 # Linux: update installation with Qt Maintenance Tool MaintenanceTool.run install qt.qt6.670.gcc_64
卸载程序包
命令行界面提供了两个用于卸载包的命令
remove <包列表>
命令卸载列出的包。purge
命令卸载所有已安装的程序包。
您应使用这两个命令与 Qt 维护工具一起使用。
默认情况下,Qt 维护工具会打印要受命令影响的所有组件的摘要。然后工具请求继续操作的权限,以防止意外更改。使用 --confirm-command
跳过请求继续权限。
以下示例展示了在没有用户交互的情况下卸载 Qt 6.7.0 二进制程序。
# windows MaintenanceTool.exe --confirm-command remove qt.qt6.670.win64_msvc2019_64 # macOS MaintenanceTool.dmg --confirm-command remove install qt.qt6.670.clang_64 # linux MaintenanceTool.run --confirm-command remove qt.qt6.670.gcc_64
以下示例展示了卸载所有包并请求继续执行操作的权限。
# Windows MaintenanceTool.exe purge # macOS MaintenanceTool.dmg purge # Linux MaintenanceTool.run purge
列出已安装程序包
list
命令列出了您已安装的所有程序包。以下是如何使用 Qt 维护工具使用该命令的示例。
# Windows MaintenanceTool.exe list # macOS MaintenanceTool.dmg list # Linux MaintenanceTool.run list
检查更新
check-updates
命令用于检查已安装软件包的可用更新。请按以下步骤使用 Qt 维护工具
# Windows MaintenanceTool.exe check-updates # macOS MaintenanceTool.dmg check-updates # Linux MaintenanceTool.run check-updates
更新软件包
update
命令用于更新已安装的软件包。请按以下步骤使用 Qt 维护工具
# windows MaintenanceTool.exe update # macOS MaintenanceTool.dmg update # linux MaintenanceTool.run update
常用命令
使用以下命令 <installer_executable> --help
了解所有可用命令和选项。以下是一些常用命令
命令 | 用法 |
---|---|
in , install <pkg ...> | 安装作为参数提供的软件包。如果您不提供任何软件包,则安装默认软件包集。 |
rm , remove <pkg ...> | 卸载指定的软件包及其子组件。 |
ch , check-updates | 显示 Qt 维护工具上的可用更新信息。 |
up , update <pkg ...> | 更新作为参数提供的软件包。如果没有提供软件包,则安装所有可用更新。 |
se , search <regexp> | 搜索可用软件包。如果您不提供搜索模式,则显示所有可用软件包。您可以使用 --filter-packages 选项为搜索操作指定附加过滤器。请参阅 Qt 安装器框架手册中的选项摘要。 |
Qt 安装器框架手册提供了有关命令和选项的更多信息。
选择开源镜像
Qt 在线安装器允许选择开源元数据和下载的镜像。使用 --mirror
选项从命令行设置镜像。
例如,如下使用 --mirror
:
installer(.exe) --mirror http://www.nic.funet.fi/pub/mirrors/download.qt-project.org installer(.exe) --mirror http://ftp2.nluug.nl/languages/qt maintenancetool(.exe) --mirror http://qt.mirror.constant.com
如示例所示,请勿使用完整路径,而应使用 '/online' 之前的路径(路径末尾不带反斜杠)。
您可以从https://download.qt.io/online/qtsdkrepository/windows_x86/root/qt/Updates.xml.mirrorlist 获取可用的镜像。
命令行界面用法摘要
Qt 安装器框架手册提供了有关命令行界面的更详细信息。
© 2024 Qt 公司有限公司。包含在此处的文档贡献为各自所有者的著作权。本手册提供的文档是根据自由软件基金会发布并由其版权所涵盖的GNU 自由文档许可证版本 1.3许可。Qt 及相关标志是芬兰及/或全球其他地区 Qt 公司有限公司的商标。所有其他商标均为各自所有者的财产。