在Windows 7 64位系统上运行gem install时出错。

7

我刚刚使用rubyinstaller.org上的安装程序安装了ruby 1.9.2-p136,现在我正在尝试安装rails。当我执行“gem install rails”时,会出现以下错误:

C:\Users\Clayton.USA>gem install rails
ERROR:  While executing gem ... (Errno::EINVAL)
    Invalid argument - P:/

这里是我正在使用的Ruby和Gem版本:

C:\Users\Clayton.USA>ruby -v
ruby 1.9.2p136 (2010-12-25) [i386-mingw32]

C:\Users\Clayton.USA>gem -v
1.3.7

更新:在这里找到了解决方案:如何停止 'gem' 实用程序访问我的主目录?

在我的 bin/gem 的开头添加了以下内容:

ENV['HOME'] = "D:/Ruby192"

你好,能否更新问题并包含 gem env 命令的输出?另外,HOME、HOMEDRIVE、HOMEPATH 和 USERPROFILE 环境变量的值是什么?(使用 SET USERPROFILE 命令查看) - Luis Lavena
你尝试以管理员身份运行cmd了吗?或者尝试使用gem update --system更新rubygems。 - Vasiliy Ermolovich
4个回答

5
在我的情况下,从命令提示符运行以下命令可以将主目录驱动器设置为c:并解决gem更新问题:
SET HOMEDRIVE=c:
你的HOMEDRIVE被设置为P:,在运行该命令后它将被设置为C:。
你可以通过只写
SET HOMEDRIVE
来测试是否已将其设置为C:。

3

您可能不想更改您的HOMEDRIVE(公司笔记本电脑通常将HOMERIVE设置为网络驱动器,该驱动器可能在执行gem install时已断开连接)。我认为更改HOMEDRIVE也不可取,因此停止'gem'实用程序访问我的主目录。

解决这个问题的正确方法是指定HOME环境变量,该变量实际上在您的系统中缺失。Rubygem总是在使用HOMEDRIVE之前搜索它。最简单的解决方案是指定新的环境变量:

SET HOME %USERPROFILE%


1
我在编程中遇到了一个问题,但是有点不同 - 出现了相同的错误,但是在\ Ruby \ bin中的setrvbars.bat文件中却出现了引号错误。 我的解决方法在tumblr上,简要说明如下:

这一行读取:

SET GEM_HOME=”C:\Ruby193\lib\ruby\gems\1.9.1”

更新 Gem 时因引号而出现问题。我删除了这些引号:

SET GEM_HOME=C:\Ruby193\lib\ruby\gems\1.9.1

现在它运行良好。


0
出于某些原因,HOMEDRIVE 没有设置为正确的驱动器。 修复它,从 运行 菜单中启动 regedit 进入 HKEY_CURRENT_USER\Volatile Environment 并将 HOMEDRIVE 更改为你的驱动器(在我的情况下是 C:)


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