预警
来自 *nix 的部分 Ruby 不喜欢空格。宝石就是其中之一。这不是巧克力的东西,只是一个仅供参考,以防万一您将其放入程序文件后遇到问题。它可能不会在那里工作,所以如果你遇到问题,把它移到其他地方。
如果我没记错的话,安装程序也不会真正更新权限,所以你自己确保你的权限是好的,这样你就可以运行它,例如 Program Files 是管理员可写的,除非你正在运行,否则你不会拥有管理提示(这是 UAC,它将您从非提升进程中的管理员组中删除)。
保证x64?
如果您在 64 位系统上并且软件包中包含 x64 url,您将获得该软件的 64 位版本,除非您专门用于-x86
强制使用 32 位版本。
- 查看 Ruby 2.1.5包文件- 我们看到 ChocolateyInstall.ps1 有这一行(注意
$url64
,所以我们很好):
Install-ChocolateyPackage "$packageId" 'exe' "$silentArgs" "$url" "$url64" -checksum $checksum -checksum64 $checksum64
- 查看 Ruby2.DevKit包文件——chocolateyInstall.ps1有这一行(再次使用 x64 url):
Get-ChocolateyWebFile 'ruby2.devkit' "$file" -url "$url" -url64bit "$url64" -checksum "$checksum" -checksum64 "$checksum64" -checksumType "$checksumType"
自定义安装文件夹
通常你会通过本地开关来更改目录installargs
。然而,由于上述已知问题,这些软件包使用 ChocolateyGet-BinRoot
来确定自己的安装位置。
Chocolatey 的 Get-BinRoot
Get-BinRoot
使用名为ChocolateyBinRoot
(默认设置为$env:SystemDrive\tools
)的环境变量来确定将某些不符合 Program Files 条件的软件放置在何处。您可以将其设置在您想要的任何位置,包括 Program Files 文件夹,它将使用该位置。
为 v2 安装 Ruby 和 DevKit
choco install ruby -version 2.1.5
- 如果在 cmd.exe 中,
refreshenv
则关闭并重新打开 shell。
choco install ruby2.devkit
(注意ruby2)
- 检查
config.yml
DevKit 文件夹中的 ruby 安装,否则设置它并在 devkit 文件夹中运行ruby dk.rb install
(您可能需要强制)以将其安装到 ruby 中。有关详细信息,请参阅DevKit。
- 如果在 cmd.exe 中,
refreshenv
则关闭并重新打开 shell。
- 现在我想说您可以安装 gems,但您仍然需要处理更新rubygems.org 的 ssl 证书。我有一个关于vagrant-windows-puppet的例子。
- 完毕。