Как остановить доступ утилиты '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, как предложено ниже, но это не помогло (все еще проверяет домашний каталог пользователя)
6 ответов
Просто измените 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 только символами в пути.
Проще написать:
@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 pi.bat или pi.sh, этот файл находится в./RubyDevKit/postinstall.
это сработало для меня. похоже, что установщик cygwin сломал мои настройки.
Перезапустите консоль командной строки, так как это могло что-то испортить. У меня была такая же проблема, и перезапуск консоли перезагрузил мою среду.
Возможно, попробуйте изменить значение каталога среды GEM_HOME?
Если вы установили GEM_PATH в свой пользовательский каталог, он все равно получит к нему доступ. Попробуйте изменить GEM_HOME и GEM_PATH.