如何在chocolatey'.config'文件中使用自定义参数?

时间:2015-12-05 14:34:07

标签: chocolatey

我使用chocolatey来安装带参数的git,并且在命令行中运行良好:

choco install git -params '"/GitOnlyOnPath /NoAutoCrlf"'

现在,我想把它放在我的.config文件中,它似乎不起作用。以下是我希望如何配置它的示例:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="git" params="/GitOnlyOnPath /NoAutoCrlf"/>
</packages>

这会成功安装git,但忽略这些参数:autocrlf之后仍然是true

文档和大多数来源仅涵盖包实体的versionlocation属性。那么,(怎么样)可以在.config文件中配置自定义参数?

2 个答案:

答案 0 :(得分:10)

我不太确定我同意你的论点,即文档没有涵盖这一点,但也许很难找到?我们在安装文章下有它,因为你可以调用packages.config。

https://github.com/chocolatey/choco/wiki/CommandsInstall#packagesconfig

包括在内:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="apackage" />
  <package id="anotherPackage" version="1.1" />
  <package id="chocolateytestpackage" version="0.1" source="somelocation" />
  <package id="alloptions" version="0.1.1"
           source="https://somewhere/api/v2/" installArguments=""
           packageParameters="" forceX86="false" allowMultipleVersions="false"
           ignoreDependencies="false"
           />
</packages>

始终尝试查看choco wiki中的文档 - 这是最新的。此外,Chocolatey packages.config与NuGet packages.config不同。

答案 1 :(得分:0)

我完全同意其他人的观点,即文档没有充分涵盖这一重要问题。没有--params开关等效于packageParameters属性的语法示例。

这里是如何在配置文件上存储参数的示例。

<?xml version="1.0" encoding="utf-8"?>
<packages>
       <package id="apache-httpd" packageParameters='/installLocation="D:\server\httpd"'/>
</packages>

注意属性名称及其格式。

其他类似的工具使用JSON格式存储软件包列表(PHP编写器,NPM和...),这种方式更加直观。