Подтвердить что ты не робот

Как остановить утилиту "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 работает нормально.

Кто-нибудь знает, как рассказать жемчужину НЕ проверить мой домашний каталог?

UPDATE. Я попытался настроить GEM_HOME, как предложено ниже, но это не помогло (по-прежнему проверяет домашний каталог пользователя)

4b9b3361

Ответ 1

Просто измените HOMEDRIVE и HOMEPATH перед запуском gem и восстановите после (если необходимо).

Я изменил свой 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 только символами в пути.

Ответ 2

Проще писать:

@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" %*

В этом случае вам не нужно писать свой путь и может заменить или перераспределить файл для новых установок

Ответ 3

Возможно, попробуйте изменить значение каталога среды GEM_HOME?

Ответ 4

Если вы установили GEM_PATH в свой каталог пользователя, он все равно получит к нему доступ. Попробуйте изменить GEM_HOME и GEM_PATH.

Ответ 5

просто запустите файл postinstall pi.bat или pi.sh этот файл находится в. /RubyDevKit/postinstall.

это сработало для меня. кажется, что установщик cygwin нарушил мои настройки.

Ответ 6

Перезапустите консоль командной строки, поскольку что-то могло ее поднять. У меня была такая же проблема и перезагрузка консоли reset моей среды.