当我跑步
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的安装程序打破了我的设置。
重新启动命令提示符控制台,因为可能已经把它抬起来了。 我有同样的问题,并重新启动控制台重置我的环境。