在Windows系统中安装RubyGems

115

我是 Ruby 的新手,尝试按照http://rubygems.org/pages/download上提供的步骤在我的电脑上安装 Ruby Gems。

我从网站上下载了相关软件包,并转到该软件包所在的目录,然后使用命令提示符中的 setup.rb 命令尝试运行设置文件。

但我收到一个窗口弹出,显示“Windows 无法打开此文件”,并提示我选择打开此文件的程序。

现在我该怎么办?如果我做错了什么,请告诉我。

8个回答

148

在 Windows 上设置 Ruby 开发环境的步骤:

  1. 通过 RubyInstaller 安装 Ruby:http://rubyinstaller.org/downloads/

  2. 检查 Ruby 版本:开始 - 运行 - 输入 cmd 打开 Windows 控制台

  3. 输入 ruby -v

  4. 你会得到类似这样的输出:ruby 2.0.0p353 (2013-11-22) [i386-mingw32]

对于 Ruby 2.4 或更高版本,请在安装结束后运行附加安装以安装 DevelopmentKit。如果你忘记了运行它,可以在 Windows 控制台中运行 ridk install 来安装它。

对于早期版本:

  1. 从 Ruby Installer 的同一下载页面下载并安装 DevelopmentKit。选择与你的环境(32 位或 64 位)和 Ruby 版本对应的 .exe 文件。
  2. 按照 DevelopmentKit 的安装说明进行安装,描述在 https://github.com/oneclick/rubyinstaller/wiki/Development-Kit#installation-instructions。适用于 Windows。
  3. 安装 DevelopmentKit 后,你可以通过在命令提示符(Windows 控制台或终端)中运行 gem install {gem name} 来安装所有需要的 gem。例如,要安装 rails,只需运行 gem install rails

这是更完整的答案。谢谢! - D. Visser
5
别忘了将你的 Ruby 安装路径添加到 PATH 环境变量中!(对我来说是 C:\Ruby22\bin) - clarkatron
1
@clarkatron 安装程序有一个选项可以为您完成这个问题。另外,从 Ruby 2.4.0 开始,安装的最后一步会下载 MSYS2 DevKit(因此不需要执行第5-6步骤)。 - Ohad Schneider

83

我建议您使用RubyInstaller

这是官方Ruby页面推荐的 - 请参见https://www.ruby-lang.org/en/downloads/

Ruby的安装方式

我们在每个主要平台上都有几种工具来安装Ruby:

  • 在Linux / UNIX上,您可以使用您所在发行版的软件包管理系统或第三方工具(如rbenv和RVM)。
  • 在OS X机器上,您可以使用第三方工具(如rbenv和RVM)。
  • 在Windows机器上,您可以使用RubyInstaller。

3
我下载了这个文件,现在无论我尝试运行、移动还是删除它,都会导致电脑崩溃,即使重启也没用。以前从未遇到过这样的情况。 - Daan Luttik

27

在 PowerShell 中使用 chocolatey

choco install ruby -y
refreshenv
gem install bundler

3
在我的情况下,refreshenv 没有起作用:我不得不关闭并重新打开 PowerShell,然后它才起作用。 - Marco Lackovic
需要重新加载这个。 - Den Kerny

24

安装Ruby

前往 http://rubyinstaller.org/downloads/

确保您勾选了 "添加 ruby ... 到您的 PATH"。 enter image description here

现在您可以在“cmd”中使用“ruby”。

如果您安装了 Ruby 1.9.3,我预计 Ruby 已下载至 C:\Ruby193

安装 Gem

在 rubyinstaller 中安装 Development Kit。 创建新文件夹,例如 C:\RubyDevKit 并解压缩。

进入 devkit 目录并键入 ruby dk.rb init 以生成 config.yml

如果您为 1.9.3 安装了 devkit,则我预计 config.yml 将写为 C:\Ruby193

如果不是,请更正路径到您的 Ruby 文件夹。

检查 config.yml 后,最后可键入 ruby dk.rb install

现在你可以在你的“cmd”中使用“gem”。完成!


16

另一种方法是让chocolatey管理你的Ruby包(以及任何其他包),这样你就不必手动将Ruby放入路径中:

首先,通过打开您喜欢的命令提示符并执行以下操作安装chocolatey

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin

那么你所需要做的就是输入:

then all you need to do is type
cinst ruby

在您的命令提示符中输入该命令,即可安装该软件包。

使用软件包管理器可以提供更多的控制权,我建议每个可以通过chocolatey安装的软件包都使用这种方式。


1
谢谢@nimrod!我的笔记:1.要查看本地安装了什么,请使用“choco list -lo”;2.要安装Ruby gem,请使用类似于“choco gem gemcutter-version 0.7.1”的命令,参见https://github.com/chocolatey/chocolatey/wiki/CommandsGem;3.最近有一个Kickstarter项目得到资助,因此我们可能会看到更多的变化https://www.kickstarter.com/projects/ferventcoder/chocolatey-the-alternative-windows-store-like-yum/posts - AnneTheAgile
1
那很方便,谢谢!我喜欢 Chocolatey,以至于我决定贡献一些设计工作:https://github.com/chocolatey/chocolatey/issues/640 - Julian Krispel-Samsel

6
我使用scoop作为Windows命令行安装程序...scoop非常棒!
快速回答(使用PowerShell):
PS C:\Users\myuser> scoop install ruby

更详细的答案:

只是搜索 ruby:

PS C:\Users\myuser> scoop search ruby
'main' bucket:
    jruby (9.2.7.0)
    ruby (2.6.3-1)

'versions' bucket:
    ruby19 (1.9.3-p551)
    ruby24 (2.4.6-1)
    ruby25 (2.5.5-1)

检查安装信息:
PS C:\Users\myuser> scoop info ruby
Name: ruby
Version: 2.6.3-1
Website: https://rubyinstaller.org
Manifest:
  C:\Users\myuser\scoop\buckets\main\bucket\ruby.json
Installed: No
Environment: (simulated)
  GEM_HOME=C:\Users\myuser\scoop\apps\ruby\current\gems
  GEM_PATH=C:\Users\myuser\scoop\apps\ruby\current\gems
  PATH=%PATH%;C:\Users\myuser\scoop\apps\ruby\current\bin
  PATH=%PATH%;C:\Users\myuser\scoop\apps\ruby\current\gems\bin

安装输出:

PS C:\Users\myuser> scoop install ruby
Updating Scoop...
Updating 'extras' bucket...
Installing 'ruby' (2.6.3-1) [64bit]
rubyinstaller-2.6.3-1-x64.7z (10.3 MB) [============================= ... ===========] 100%
Checking hash of rubyinstaller-2.6.3-1-x64.7z ... ok.
Extracting rubyinstaller-2.6.3-1-x64.7z ... done.
Linking ~\scoop\apps\ruby\current => ~\scoop\apps\ruby\2.6.3-1
Persisting gems
Running post-install script...
Fetching rake-12.3.3.gem
Successfully installed rake-12.3.3
Parsing documentation for rake-12.3.3
Installing ri documentation for rake-12.3.3
Done installing documentation for rake after 1 seconds
1 gem installed
'ruby' (2.6.3-1) was installed successfully!
Notes
-----
Install MSYS2 via 'scoop install msys2' and then run 'ridk install' to install the toolchain!
'ruby' suggests installing 'msys2'.
PS C:\Users\myuser>

2
您可以使用官方的 MS WinGet 命令行工具来安装 Ruby

winget install RubyInstallerTeam.Ruby.3.1

或者

winget install -e --id RubyInstallerTeam.RubyWithDevKit.3.1

默认情况下,它会安装到 C:\Ruby31-x64 目录下。

您好,@vadzim先生,这对于回答将近十年前提出的问题有用吗?我只是一个新用户,仅仅是为了学习知识。谢谢! - ajay_speed
1
@ajay_speed 欢迎。这绝对有很多优点:https://meta.stackexchange.com/questions/23996/does-it-make-sense-to-answer-old-questions - Vadzim

1

检查是否已经安装了 Ruby 解释器,并在命令提示符中尝试运行 "ruby setup.rb"。


1
或者只需输入 ruby -v - Jay Killeen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接