RVM Bundle Install Missing Gem Error, даже если установлен gem - PullRequest
55 голосов
/ 24 января 2012

Я получаю следующую ошибку, хотя в настоящее время у меня установлен гем Bundler (он появляется при запуске $ gem list).

ERROR: Gem bundler is not installed, run `gem install bundler` first.

Я использую RVM, и мой $ PATH выглядит следующим образом:

/Users/cjstingl/.rvm/gems/ruby-1.9.2-p290@rails3tutorial2ndEd/bin:
/Users/cjstingl/.rvm/gems/ruby-1.9.2-p290@global/bin:
/Users/cjstingl/.rvm/rubies/ruby-1.9.2-p290/bin:
/Users/cjstingl/.rvm/bin:
/Users/cjstingl/.bin:
/usr/local/sbin:
/usr/local/Cellar/php/5.3.6/bin:
/usr/local/share/python:
/usr/bin:
/bin:
/usr/sbin:
/sbin:
/usr/local/bin:
/usr/X11/bin

Также это мой драгоценный камень env

RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.15
  - RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-darwin11.2.0]
  - INSTALLATION DIRECTORY: /Users/cjstingl/.rvm/gems/ruby-1.9.2-p290@rails3tutorial2ndEd
  - RUBY EXECUTABLE: /Users/cjstingl/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/cjstingl/.rvm/gems/ruby-1.9.2-p290@rails3tutorial2ndEd/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-11
  - GEM PATHS:
     - /Users/cjstingl/.rvm/gems/ruby-1.9.2-p290@rails3tutorial2ndEd
     - /Users/cjstingl/.rvm/gems/ruby-1.9.2-p290@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => false
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gem" => "-n/usr/local/bin --no-ri --no-rdoc --no-user-install"
  - REMOTE SOURCES:
     - http://rubygems.org/

Также: использование команды bundle -v возвращает ту же ошибку

Я пытался внедрить RVM и переустановить, что, похоже, не работает. Я в тупике, и любая помощь будет оценена.

Ответы [ 19 ]

2 голосов
/ 10 сентября 2012

Я столкнулся с той же проблемой ранее сегодня.Подход, который я использовал для решения этой проблемы, заключался в следующем:

1) Запустите

cap shell

на той же машине, на которой вы обычно запускаете cap deploy.Затем выполните

env | sort

. Запускает команду на удаленном сервере.Скопируйте и вставьте выходные данные в локальный текстовый файл, например capenv.txt

2) SSH, на тот же удаленный сервер и выполните ту же команду, а именно env |Сортировать.Сохраните это локально как текстовый файл, например, sshenv.txt

3) Разместите два файла и посмотрите, что находится в sshenv.txt, а не в capenv.txt - это, скорее всего, там, где ваша проблема.

< ++CAP ++
< _=/bin/sh
---
> ++ SSH ++
> __array_start=0
14a15
> PS1=\[\e]2;tracker@charlotte\a\e[0;31m LIVE:\u@\h \w> \e[0m
18d18
< rvm_env_string=ruby-1.9.3-p194
21d20
< rvm_ruby_string=ruby-1.9.3-p194
27c26,28
< USER=tracker
\ No newline at end of file
---
> USER=tracker
> USES_BASHRC=bashrc
> _=/usr/bin/env

4) Я сразу заметил, что интерпретатор оболочки не был установлен на bash.Это можно исправить, добавив

set :shell, '/usr/bin/bash'

в файл deploy.rb.Это решило мою проблему

2 голосов
/ 17 июня 2012

У меня была очень похожая проблема по несколько другой причине.В моем домашнем каталоге был файл .gemrc, оставшийся от старой установки ruby, и я пропустил удаление старых файлов.Похоже, что gem перепутал настройки rvm с настройками в этом файле.Как только я удалил его (и некоторые файлы установили в старое место), все заработало нормально.

2 голосов
/ 25 мая 2012

Я установил ruby ​​1.9.3 от rvm. После того, как git octopress завершен, просто отредактируйте $ path_of_git / .rvmrc следующим образом: «rvm use 1.9.3». И затем выполните команду "cd ..; cd $ path_of_git". После этого он спросит вас, доверяете ли вы .rvmrc или нет. Введите 'y', чтобы файл .rvmrc работал.

1 голос
/ 15 сентября 2012

Я столкнулся с этой проблемой сам после обновления моего уровня патча Ruby.Я запустил which gem и обнаружил, что он использует глобальную версию rubygems, в данном случае путь был ~/.rvm/bin/gem.Поэтому я запустил rvm rubygems current, который установил его в ~/.rvm/rubies/ruby-1.8.7-p370/bin/gem.Пробежал gem install bundler и bundle снова.Проблема решена.

1 голос
/ 04 мая 2012

Это работает для меня, когда я указываю версию Ruby, которую я хочу использовать:

$ rvm use 1.9.2-p290
Using /Users/myname/.rvm/gems/ruby-1.9.2-p290
0 голосов
/ 21 ноября 2012

Сталкивался с той же проблемой (где я продолжал устанавливать упаковщик, а rvm не распознает его) на одном из моих ноутбуков. Я догадался, что, возможно, неправильно установил RVM, пока еще был нубом. Я попробовал решение выше, но оно не сработало для меня. После того, как я возился с этим, я сдался и удалил RVM и переустановил его Я подумал, что это из-за какой-то странной проблемы конфигурации, глубоко вложенной куда-то или Вот шаги, которые я предпринял:

Удалить RVM:

rvm implode

Установите RVM снова:

curl -L https://get.rvm.io | bash -s stable --rails
rvm reload

Поскольку я работаю над старым проектом rails для работы, мне пришлось установить ree-1.8.7-2012.02

rvm install ree-1.8.7-2012.02

Конечно, закон Мерфи все еще применяется. Я столкнулся с другой проблемой, когда на моем ноутбуке не удалось найти исправный компилятор C , хотя XCode установлен вместе с gcc. Мои последние шаги собирались https://github.com/kennethreitz/osx-gcc-installer и установить их пакет и переустановить ree.

Надеюсь, это последнее средство поможет кому-то. Удачи!

0 голосов
/ 28 февраля 2013

Для моей настройки добавление пользователя, работающего с apache, в группу rvm сработало

usermod -a -G rvm www-data
0 голосов
/ 27 июня 2013

У меня тоже была эта проблема. Я исправил свою проблему, указав набор драгоценностей.

$ bundle install
ERROR: Gem bundler is not installed, run `gem install bundler` first.

$ rvm gemdir
/usr/local/rvm/gems/ruby-1.9.3-p194

$ rvm gemset list

gemsets for ruby-1.9.3-p194 (found in /usr/local/rvm/gems/ruby-1.9.3-p194)
   global
   rails32

$ rvm gemset use rails32

Using ruby-1.9.3-p194 with gemset rails32

$ rails s

Could not find rake-10.0.4 in any of the sources

Run `bundle install` to install missing gems.

$ bundle install

Fetching gem metadata from https://rubygems.org/.......
{And voila! it worked!}
0 голосов
/ 15 августа 2012

У меня была такая же проблема, когда в каталоге, на который я переключился, был пустой файл .rvmrc (rvm 1.15.1).Очевидно, есть много причин для этой ошибки

...