我想将 winget(Windows 的包管理器)的安装路径更改为D:\Program Files\{insert folder name}
。这是文档中告诉我使用的命令
winget install --id {insert program id} --location "D:\Program Files\{insert folder name}"
但它却将文件安装在D:\Program
所以我理解的是,它会读取空格处的位置并创建文件夹。为了确保我使用了不带空格的文件夹名称并且它安装正确。
我发布了这个问题堆栈溢出最初但它被标记为计算机硬件/软件并告诉我将其发布在这里,这怎么归为那类?
答案1
此功能于 软件安装路径可以设置吗?#489。
2020 年 7 月 11 日的答案是:
Winget 中已经有一个函数,使用
winget install Software.Name --location "C:\Folder\Software.Name"
但目前支持有限。
但是,我们也刚刚获得了对交互模式 winget install Software.Name 的支持
-i
,这是一个比--location
现在更安全的选择。
该location
选项是新的,很可能存在错误,而且似乎您已经发现了一个。
最好的解决方案可能是等待这个问题被修复,并添加一个错误报告到https://github.com/microsoft/winget-cli/issues。
如果该-i
解决方案不可行,那么您可以采取临时解决方法,将文件夹的内容手动移动C
到该文件夹中,并用指向该文件夹的符号链接D
替换该文件夹。C
D
有关详细信息,请参阅 在 Windows 上创建符号链接 (又名 Symlinks) 的完整指南。
答案2
您可以将“Progra~1”用作“Program Files”,将“Progra~2”用作“Program Files (x86)”。这是由 powershell 或 cmd 语法引起的错误,而不是由 winget 引起的。您需要将路径转换为任何不带空格或任何特殊字符的形式,如果您不想遇到此类问题,这应该是一种常规习惯。