Ошибка запуска установки gem в 64-битной Windows 7

Я только что установил ruby ​​1.9.2-p136 с помощью установщика с rubyinstaller.org и сейчас пытаюсь установить rails. Когда я делаю "gem install rails", я получаю следующую ошибку:

C:\Users\Clayton.USA>gem install rails
ERROR:  While executing gem ... (Errno::EINVAL)
    Invalid argument - P:/

Вот версии ruby ​​и gem, которые я использую:

C:\Users\Clayton.USA>ruby -v
ruby 1.9.2p136 (2010-12-25) [i386-mingw32]

C:\Users\Clayton.USA>gem -v
1.3.7

Обновление: нашел решение здесь: Как остановить доступ утилиты 'gem' к моему домашнему каталогу?

Добавил следующее в начало моего bin/gem:

ENV['HOME'] = "D:/Ruby192"

4 ответа

В моем случае выполнение следующей команды из командной строки исправило homedrive в c: и исправило проблему обновления gem
SET HOMEDRIVE=c:

ваш HOMEDRIVE был установлен в P:, после этой команды он будет установлен в C:
Вы можете проверить только написав
SET HOMEDRIVE
до и после установки его в C:

Возможно, вы не захотите менять свой HOMEDRIVE (на ноутбуках компании часто используется HOMERIVE для сетевого диска, который может быть отключен в момент установки gem). Я думаю, что не рекомендуется менять HOMEDRIVE или

остановить утилиту 'gem' от доступа к моему домашнему каталогу

Правильное решение этого вопроса - указать переменную среды HOME, которая фактически отсутствует в вашей системе. Rubygem всегда ищет его перед использованием HOMEDRIVE. Самое простое решение - указать новую переменную env:

SET HOME %USERPROFILE%

Я столкнулся с этой проблемой с ошибкой, похожей на ошибку, но она задыхалась в кавычках в файле setrvbars.bat в \Ruby\bin. Мое исправление на Tumblr, но вкратце:

Эта строка гласила:

SET GEM_HOME=”C:\Ruby193\lib\ruby\gems\1.9.1”

Обновление драгоценного камня задыхалось на цитатах. Я бросил цитаты:

SET GEM_HOME=C:\Ruby193\lib\ruby\gems\1.9.1

И теперь работает нормально.

По какой-то причине HOMEDRIVE не установлен правильный диск. Чтобы исправить это, запустите regedit от run меню Перейти к HKEY_CURRENT_USER\Volatile Environment и изменить HOMEDRIVE на ваш диск (C: в моем случае)

Другие вопросы по тегам