我已经安装了最新版本的ruby (1.9.2)
我有gem的1.7.2版本。我使用的是64位Win7,并以管理员身份运行提示符。
事实上,我不能更新或安装新的gem。
我总是有相同的错误:"Error : While executing gem... (Errno:EN0ENT)
没有这样的文件或目录- C/Users/David那么我能做什么??谢谢
发布于 2011-09-27 08:05:11
在Windows上使用rubygems时,有几件事需要先了解一下。
主要是rubygems在计算机中查找gem安装位置的顺序。这可能在较新版本的rubygems中得到了修复,但我知道较旧的版本偶尔会在这里出错。
查看以下页面的规范,我发现这个页面在理解rubygems在哪里寻找宝石方面非常有帮助。
http://docs.rubygems.org/read/chapter/12
从你粘贴的错误来看..使用Windows时,系统会自动为用户分配一个HOMEPATH或USERPROFILE变量,该变量通常存储您的my Documents文件夹和内容。在rubygems查找gem路径的顺序中,这些路径实际上在要查找的位置列表中排在非常高的位置,如果它们中的任何一个已经定义,它就认为您的gem应该在那里。
我在工作中遇到了问题,因为每次我连接计算机时,我的HOMEPATH都会自动设置为网络驱动器,而当我把计算机带回家时,它会在网络路径上查找我的宝石。
有几种不同的方法可以修复它,但我认为最简单的方法是创建一个HOME环境变量,该变量指向您正在使用的Ruby版本的子文件夹。所以只需在C:\ruby192\homepath目录下创建一个空文件夹即可,如HOME=C:\ruby192\homepath
如果你看看我在上面发给你的链接,你会发现rubygems在HOME中比HOMEPATH更重要。如果您尝试重新定义HOMEPATH或USERPROFILE,您将在下次重新启动Windows时注意到许多问题,包括Windows呈现桌面的方式。所以不要去管这些变量。您可以通过查看您的计算机上是否已经定义了变量来检查您没有首先在命令行上覆盖任何内容:
回显%HOMEPATH%
回显%HOME%
这不是最好的解决方案,但它工作得很好,即使旧版本的rubygem运行在从XP到Win7的任何东西上,所以如果你想使用它,那就由你来决定。
如果你这样做了,希望你在安装gem时不会遇到更多的问题。
https://stackoverflow.com/questions/7478311
复制相似问题