我用 Chocolatey 安装了以下软件包。
巧克力列表 --localonly
> choco list --localonly
Chocolatey v0.9.9.2
adobereader 11.0.10
ccleaner 5.03.5128
chocolatey 0.9.9.2
ConEmu 14.9.23.0
gimp 2.8.14.1
git 1.9.5.20150114
Run Code Online (Sandbox Code Playgroud)
一周后在chocolatey.org网站上GIMP包更新到2.9,Git包更新到1.9.6,但其他包没有更新。
两周后,我需要在 cmd 中运行一个命令来显示以下结果:
> some command
git current local version (1.9.5), latest version (1.9.6) is available for upgrade
gimp current local version (2.8), latest version (2.9) is available for upgrade
Run Code Online (Sandbox Code Playgroud)
编写此类命令的好方法是什么?(或者如果 Chocolatey 本身内置了一个命令选项,它会是什么?)
可能是一个简单的问题,但我如何让 Chocolatey 列出当前安装在我的系统上的软件包?
谷歌搜索时,我最终得到了下面的问题。它相关但略有不同,并且对我的问题没有简单的答案。
命令
choco list -lo
Run Code Online (Sandbox Code Playgroud)
列出已安装的软件包。但是如何确定 Chocolatey 应用程序的安装位置?到目前为止,我不得不四处寻找它们。
一些例子:
Program Files (x86)
%ALLUSERSPROFILE%\chocolatey\bin and %ALLUSERSPROFILE%\chocolatey\lib\[Package Name]\tools
%ALLUSERSPROFILE%\chocolatey\lib\[Package Name]\tools
上面有没有标志choco list
会告诉我他们去了哪里?ChocolateyGUI 似乎也没有这样做。
有点像 Debian 的:
dpkg-query
Run Code Online (Sandbox Code Playgroud)
或者 RedHat 的:
rpm -ql [package-name]
Run Code Online (Sandbox Code Playgroud)
或者 YUM 的 repoquery:
repoquery --list [package-name]
Run Code Online (Sandbox Code Playgroud)
家酿:
brew list [package-name]
Run Code Online (Sandbox Code Playgroud) 我有一些使用非 Chocolatey 方法(.msi 包、setup.exe 等)安装的程序。我最近开始使用 Chocolatey,并想用它来更新这些程序。
有没有办法做到这一点,或者我是否需要卸载程序并使用 Chocolatey 重新安装它们?
cup all -y
用于在启动时更新所有Chocolatey包。目前VirtualBox的最新版本存在问题,我想避免这个包在启动时更新而其他包需要更新。
尝试解决问题
我检查了命令的帮助功能:
C:\>cup all -h
Chocolatey v0.9.9.8
Upgrade Command
Upgrades a package or a list of packages. Some may prefer to use `cup`
as a shortcut for `choco upgrade`.
Usage
choco upgrade <pkg|all> [<pkg2> <pkgN>] [<options/switches>]
cup <pkg|all> [<pkg2> <pkgN>] [<options/switches>]
NOTE: `all` is a special package keyword that will allow you to upgrade
all currently installed packages.
Examples
choco upgrade chocolatey
choco upgrade notepadplusplus googlechrome atom 7zip
choco upgrade notepadplusplus googlechrome atom 7zip …
Run Code Online (Sandbox Code Playgroud) 我希望能够用来choco upgrade all -y
更新我几乎所有的 Chocolatey 包。
一些包代表我想要安装的应用程序,但我不再希望它们被更新,至少不是由choco upgrade all
命令自动更新。
我可以在不实际卸载应用程序的情况下从 Chocolatey 中删除软件包吗?这样就会达到预期的效果。
或者我能以更好的方式实现我的目标吗?
安装文件清理目前仅在Chocolatey 的许可版本中可用(每年 96 美元),开发人员似乎没有计划为免费版本提供缓存清理支持。
软件包安装文件很容易占用千兆字节的存储空间,据我所知,它们只会随着用户更新软件包和安装新软件而增加,只有您的硬盘容量作为上限。
我不知道的巧克力店在一个中心位置缓存-这是保存到~\AppData\Local\Temp
,但多数位于lib
中*文件夹~\ProgramData\chocolatey
。此外,文件logs
夹中的日志文件在我的系统上总计超过 100 MB。有没有办法在不手动删除目录的情况下完全清除 Chocolatey 缓存?
我即将重新安装我的 Windows 10 电脑,并希望将 Chocolatey 用于许多应用程序。
我可以只向 Chocolatey 发出一个命令并让它处理依赖项和安装顺序,还是一次执行一个应用程序更好?我可以做一个:
choco install mobaxterm jdk8 intellijidea-community virtualbox vlc ...
Run Code Online (Sandbox Code Playgroud)
还是一次发出一个命令更好?
当我安装choco install notepadplusplus
它时,它会安装 64 位 Notepad++ 并导致问题(64 位 npp 没有包管理器)
有没有办法专门选择安装包的32位或64位?我希望应该有一个用于 choco 安装的开关,但我找不到它。
在我安装了应用程序后卸载 Chocolatey 是否安全?
我想使用 Chocolatey 为新 PC 设置软件,但想删除 C:\Chocolatey 文件夹。据我了解 Chocolatey 使用本机安装程序,因此这些程序出现在 Windows 的“添加和删除程序”中,并且可以通过这种方式进行维护。用户似乎不再需要 Chocolatey。