Windows 如何停止';gem&x27;从访问我的主目录的实用程序?

Windows 如何停止';gem&x27;从访问我的主目录的实用程序?,windows,ruby,unicode,rubygems,Windows,Ruby,Unicode,Rubygems,当我跑的时候 gem install <somegem> 如果我切换到另一个用户名仅包含ASCII字符的用户帐户,gem可以正常工作 有人知道如何告诉gem不要查看我的主目录吗 更新:我尝试按照下面的建议设置GEM\u HOME,但没有帮助(仍然检查用户主目录)也许尝试更改GEM\u HOME环境目录的值?如果将GEM\u PATH设置为用户目录,它仍然会访问它。尝试更改GEM_HOME和GEM_PATH。只需在运行GEM之前更改HOMEDRIVE和HOMEPATH,然后进行恢复(

当我跑的时候

gem install <somegem>
如果我切换到另一个用户名仅包含ASCII字符的用户帐户,
gem
可以正常工作

有人知道如何告诉gem不要查看我的主目录吗


更新:我尝试按照下面的建议设置GEM\u HOME,但没有帮助(仍然检查用户主目录)

也许尝试更改GEM\u HOME环境目录的值?

如果将GEM\u PATH设置为用户目录,它仍然会访问它。尝试更改GEM_HOME和GEM_PATH。

只需在运行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" %*

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

只需运行postinstall file pi.bat或pi.sh即可 此文件位于./RubyDevKit/postinstall中


这对我有用。似乎cygwin的安装程序破坏了我的设置。

重新启动命令提示符控制台,因为可能有什么东西把它卡住了。我遇到了同样的问题,重新启动控制台重置了我的环境。

另一个更好的方法是在“gem”脚本本身中设置HOME环境变量。在“bin/gem”的开头添加以下行:ENV['HOME']=“E:/Dev/Ruby”此修复程序适用于所有“gem”用法。如前所述,此路径可以更改,不需要使用ruby dir。这些脚本更改对我的Windows7非常有效。谢谢谢谢你。在Vista中工作就像一种魅力。他们真的应该解决这个问题,但在gem脚本文件中设置ant HOME是唯一有效的解决方案。Tahnks.经过解释修改。
@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" %*