Если, как и я, вы ранее установили более позднюю версию своего гема, вы должны удалить более позднюю версию, например, с помощью gem uninstall fog. Он спросит вас, какую версию удалить, если у вас более одной версии.
Dizzley
3
у меня есть 3 версии rake: gem list | grep rake= rake (10.1.1, 10.1.0, 0.8.7).. у меня есть проект rails 2.3.5 и еще одна версия 3.0, над которой я работаю одновременно .. как мне использовать определенную версию rake для каждого проекта (т.е. по команде линия?)
abbood
@abbood rake _10.1.1_ ...должен работать, для тех, кто хочет знать :)
Коен.
Стоит отметить, что это, похоже, не влияет на исполняемые файлы. Хотя удаление предыдущей версии работало для двоичных файлов.
Сиро Сантилли 郝海东 冠状 病 六四 事件 法轮功
Еще раз, желая я мог сделать несколько голосов. Возможно, если бы они должны были быть разделены по крайней мере на год. :)
Дон Брэнсон
192
Используйте --versionпараметр (ярлык -v):
$ gem install rails -v 0.14.1
Вы также можете использовать компараторы версий, такие как >=или~>
Это сработало для ~>, но что если у вас ситуация типа «<0.9,> = 0.7»? Я попытался применить два аргумента v, и кажется, что первый был проигнорирован. Использование разделителя запятых даже не анализирует. Я закончил тем, что удалил требование больше чем, и оказалось, что установил приемлемую версию, но было бы неплохо иметь формальное решение.
Отличный ответ. Я предлагаю вам добавить еще один блок кода для опции флага "-v". Когда мои глаза прочитали ответ, они сразу же обратились к блокам кода, а не к тексту, его окружающему. Если другие сделают то же самое, они пропустят часть "-v".
CamHart
8
Linux
Чтобы установить другую версию ruby, проверьте последнюю версию пакета, используя, aptкак показано ниже:
$ gem --version # Check for the current user.
$ sudo gem --version # Check globally.
Если версия все еще старая, вы можете попробовать переключить версию на новую с помощью ruby version manager ( rvm) с помощью:
rvm 1.9.3
Примечание. Вы можете использовать префикс, sudoесли он rvmбыл установлен глобально. Или запустить, /usr/local/rvm/scripts/rvmесли ваша команда rvmне в вашей глобальной PATH. Если процесс установки rvm не удался, см. Раздел устранения неполадок.
Поиск проблемы:
Если у вас все еще есть старая версия, вы можете попробовать установить rvm (менеджер версий ruby) через:
sudo apt-get install curl # Install curl first
curl -sSL https://get.rvm.io | bash -s stable --ruby # Install only for the user.#or:# curl -sSL https://get.rvm.io | sudo bash -s stable --ruby # Install globally.
затем, если установлен локально (только для текущего пользователя), загрузите rvm через:
Примечание. Предпочтительно НЕ использовать sudo для работы с гемами RVM. Когда вы выполняете команду sudo, вы запускаете команды от имени пользователя root, другой пользователь в другой оболочке и, следовательно, все настройки, выполненные для вас RVM, игнорируются, пока команда выполняется под командой sudo (такие как GEM_HOME и т. Д.). Итак, повторяю, как только вы выполняете sudo, вы работаете как пользователь корневой системы, который очистит вашу среду, а также любые файлы, которые она создает, не сможет быть изменен вашим пользователем и приведет к странным вещам.
gem uninstall fog
. Он спросит вас, какую версию удалить, если у вас более одной версии.gem list | grep rake
=rake (10.1.1, 10.1.0, 0.8.7)
.. у меня есть проект rails 2.3.5 и еще одна версия 3.0, над которой я работаю одновременно .. как мне использовать определенную версию rake для каждого проекта (т.е. по команде линия?)rake _10.1.1_ ...
должен работать, для тех, кто хочет знать :)Используйте
--version
параметр (ярлык-v
):Вы также можете использовать компараторы версий, такие как
>=
или~>
Или с более новыми версиями gem даже:
источник
~>
?Для установки
gem install gemname -v versionnumber
Для удаления
gem uninstall gemname -v versionnumber
источник
для Ruby 1.9+ используйте двоеточие.
источник
gem sources
, если он пуст, добавьте репо с помощью этой команды:gem sources -a https://rubygems.org/
gem -v
шоу1.8.23
против твоих2.2.2
. Похоже, эта функция новая :)Как уже отмечали другие, в общем случае используйте
-v
флаг дляgem install
команды.Если вы разрабатываете драгоценный камень локально, после вырезания драгоценного камня из вашего gemspec:
Предполагая версию 0.8, это будет выглядеть так:
источник
Linux
Чтобы установить другую версию ruby, проверьте последнюю версию пакета, используя,
apt
как показано ниже:Затем установите его:
Чтобы проверить текущую версию, запустите:
Если версия все еще старая, вы можете попробовать переключить версию на новую с помощью ruby version manager (
rvm
) с помощью:Примечание. Вы можете использовать префикс,
sudo
если онrvm
был установлен глобально. Или запустить,/usr/local/rvm/scripts/rvm
если ваша командаrvm
не в вашей глобальнойPATH
. Если процесс установки rvm не удался, см. Раздел устранения неполадок.Поиск проблемы:
Если у вас все еще есть старая версия, вы можете попробовать установить rvm (менеджер версий ruby) через:
затем, если установлен локально (только для текущего пользователя), загрузите rvm через:
если глобально (для всех пользователей), то:
если у вас все еще есть проблемы с новой версией ruby, попробуйте установить ее с помощью rvm через:
если вы хотите установить некоторые гемы глобально и у вас уже установлен rvm, вы можете попробовать:
вместо:
источник