Как остановить доступ утилиты 'gem' к моему домашнему каталогу? - PullRequest
19 голосов

Когда я бегу

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, как предложено ниже, но это не помогло (все еще проверяет домашний каталог пользователя)

Ответы [ 6 ]

34 голосов
/ 05 июля 2009

Просто измените 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 в пути.

1 голос
/ 12 мая 2011

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

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

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

0 голосов
/ 05 декабря 2013

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

0 голосов
/ 22 января 2012

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

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

0 голосов
/ 12 мая 2009

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

0 голосов
/ 11 мая 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...