如何阻止'gem'工具访问我的主目录?[英] How to stop the 'gem' utility from accessing my home directory?

本文是小编为大家收集整理的关于如何阻止'gem'工具访问我的主目录?的处理方法,想解了如何阻止'gem'工具访问我的主目录?的问题怎么解决?如何阻止'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,但没有帮助(仍然检查用户主目录)

推荐答案

在运行 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 字符的任何其他内容.

本文地址:https://www.itbaoku.cn/post/786408.html