我对巧克力很陌生,我安装了祖鲁作为Oracle (choco install zulu)的替代品。然后,我安装了一个需要Java的应用程序,它将Oracle作为依赖项安装。我认为自己很聪明,后来,我试着使用choco uninstall javaruntime。但是我得到了一个错误“因为'pdfsam.install 3.3.2‘取决于它。”
通过阅读命令的帮助,我看到了安装开关--ignore-dependencies和卸载开关--force-dependencies和--force。
前两件事很清楚。所以我可以:
choco uninstall pdfsam.install --force-dependencies
choco install pdfsam.install --ignore-dependencies至于--force,目前还不清楚它做了什么,也不鼓励使用它:
-武力 强迫-强迫行为。不要在正常操作中使用武力--它颠覆了命令的一些智能行为。
这可能意味着卸载一个包,即使另一个包依赖于它。(谁知道呢?)
我的问题是:
choco upgrade all来删除依赖项,该怎么办?发布于 2017-10-30 17:08:39
第一次安装时,您将希望使用--ignore-depdendencies (或显式指定的升级),然后打开useRememberedArgumentsForUpgrades功能。然后,当您升级时,它可能继续忽略依赖项(只要它不是被忽略的开关之一)。
如果没有忽略它,请在https://github.com/chocolatey/choco/issues/new上提交一张票证,让我们添加它作为增强。
发布于 2017-10-25 20:13:10
当强制卸载依赖项项目时,此依赖项将在更新后重新安装。
例如:
包'foo‘取决于包' bar’,您决定安装foo,因此bar也会被安装。
现在您可以强制卸载栏,但foo仍然保持安装(巧克力卸载栏-强制)。一旦您更新foo,如果它仍然依赖于bar,bar将再次被安装。
示例命令序列:
choco install foo
choco uninstall bar
choco uninstall bar --force
choco upgrade foo
我将一个gist与所需的nuspecs和这个示例的输出组合在一起:https://gist.github.com/mwallner/b10bcd6ccd1f7b3d65a56a06c8c8aa0a
至于你的第二个问题,我不知道是否有可能选择性地忽略依赖关系,也许ferventcoder可以在这里有所帮助。
https://stackoverflow.com/questions/45187854
复制相似问题