如何阻止“gem”实用程序访问我的主目录?

当我跑步

gem install <somegem> 

命令gem实用程序试图访问我的主目录。 它包含一些非拉丁字符,因此安装失败。 例如:

 E:\ruby\bin>gem install <somegem> ERROR: While executing gem ... (Errno::ENOENT) No such file or directory - C:\Documents and Settings\<user> 

如果我切换到另一个用户名包含ASCII字符的用户帐户只有gem工作正常。

有谁知道如何告诉gem不检查我的主目录?

更新 :我试图设置GEM_HOME如下build议,但它没有帮助(仍检查用户主目录)

在运行gem之前只需更改HOMEDRIVE和HOMEPATH,然后恢复(如果需要)。

我改变了我的gem.bat像这样:

 @ECHO OFF SET _HOMEDRIVE=%HOMEDRIVE% SET _HOMEPATH=%HOMEPATH% SET HOMEDRIVE=E: SET HOMEPATH=/Dev/Ruby IF NOT "%~f0" == "~f0" GOTO :WinNT @"ruby.exe" "E:/Dev/Ruby/bin/gem" %1 %2 %3 %4 %5 %6 %7 %8 %9 GOTO :EOF :WinNT @"ruby.exe" "%~dpn0" %* SET HOMEDRIVE=%_HOMEDRIVE% SET HOMEPATH=%_HOMEPATH% 

E:/ Dev / Ruby /是我的Ruby路径。 看起来,HOMEPATH可以更改为只有ASCII码的路径中的任何其他字符。

写起来很简单:

 @ECHO OFF SET HOMEPATH= IF NOT "%~f0" == "~f0" GOTO :WinNT ECHO.This version of Ruby has not been built with support for Windows 95/98/Me. GOTO :EOF :WinNT @"ruby.exe" "%~dpn0" %* 

在这种情况下,您不需要编写路径,可以用文件替换或重新分发新安装

也许尝试更改GEM_HOME环境目录的值?

如果你的GEM_PATH被设置为你的用户目录,它仍然可以访问它。 尝试更改GEM_HOME和GEM_PATH。

只需运行postinstall文件pi.bat或pi.sh这个文件是在./RubyDevKit/postinstall。

这对我工作。 似乎cygwin的安装程序打破了我的设置。

重新启动命令提示符控制台,因为可能已经把它抬起来了。 我有同样的问题,并重新启动控制台重置我的环境。