Bundle не работает с rbenv и не может установить gem - PullRequest
0 голосов
/ 24 октября 2018

Я столкнулся с проблемой с упаковщиком при использовании rbenv.Некоторое время назад я перешел с ruby ​​2.3.1 на 2.5.1, но заметил следующую ошибку при попытке запустить компоновщик внутри сценария оболочки в задании ANSIBLE.

`` `rbenv: bundle:команда не найдена

The `bundle' command exists in these Ruby versions:
  2.2.2
  2.3.1

`` `

Я видел некоторые решения этой проблемы, когда вам приходилось устанавливать упаковщик на определенной версии ruby.Однако даже удаление пакета и его повторная установка не решили проблему.Казалось, из-за какой-то проблемы с самоцветом я не смог установить bundler на определенные версии ruby, поэтому переустановка bundler ничего не сделала для меня.

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Я настоятельно рекомендую вам запускать свои скрипты в среде без rbenv.Другими словами, желательно использовать vagrant или виртуальную машину для отработки ваших сценариев.

Если вашему проекту действительно нужен rbenv, используйте для работы с ним библиотеку ansible rbenv, но запустите ее на своем хосте.Машина - опасный способ развития, потому что она не легко обратима.

Надеюсь, это поможет!

0 голосов
/ 24 октября 2018

Однако я нашел очень ручное решение для этого.

Я заметил, как rbenv whence bundle указывает, что пакет был активен в некоторых версиях ruby, но не в других.Я отследил часть команды rbenv откуда, чтобы выяснить, где она ищет и увидел, что она смотрела по следующему пути для каждой версии ruby, установленной под rbenv: ~/.rbenv/versions/$VERSION/bin/

Если выищите путь к самоцвету без компоновщика (для меня это был ~ / .rbenv / версии / 2.5.1 / bin /), вы заметите, что его там нет.Тем не менее, в других версиях, которые откуда-то может распознать, вы увидите, что исполняемый файл есть (для меня он был там под ~/.rbenv/versions/2.3.1/bin/bundle и ~/.rbenv/versions/2.3.1/bin/bundle).

Так что я скопировал исполняемый файл из рабочей версии ruby ​​втот, который был сломан.Затем в верхней части файла вы увидите, что sha-bang настроен на другую версию ruby ​​(для меня это было #!/Users/myuser/.rbenv/versions/2.3.1/bin/ruby).Измените путь к версии ruby, которую вы хотите исправить, и тогда все волшебным образом начнет работать.

...