Ошибка запуска установки 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: в моем случае)