Невозможно переключить версии gem в среде rbenv - PullRequest
2 голосов
/ 30 апреля 2019

Я установил rbenv 1.1.2 через Homebrew на моем macOS 10.14.4.

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

Например, яу меня установлены три версии гема xcodeproj (1.8.2, 1.8.1, 1.8.0, 1.5.7).

Если я запускаю xcodeproj --version, я вижу 1.8.2, как и ожидалось.

Однако, если я запускаю xcodeproj _1.5.7_ --version, я также вижу 1.8.2, ожидая 1.5.7.

Обратите внимание, что передача версии делает что-то - если я передаю неверную версию (например, 1.5.0 ), я получаю ошибку «not find gem xcodeproj (= 1.5.0)», как и ожидалось.

Что я могу сделать, чтобы иметь возможность запускать предыдущие версии?

1 Ответ

0 голосов
/ 01 мая 2019

вы должны использовать bundler для управления зависимостями rubygems, указанными в Gemfile. например:

$ cat Gemfile
# frozen_string_literal: true

source "https://rubygems.org"

gem "xcodeproj", "1.5.7"

установите их используя bundler

$ bundle install --path gems
Fetching gem metadata from https://rubygems.org/...............
Resolving dependencies...
Fetching CFPropertyList 3.0.0
Installing CFPropertyList 3.0.0
Fetching atomos 0.1.3
Installing atomos 0.1.3
Using bundler 1.17.2
Fetching claide 1.0.2
Installing claide 1.0.2
Fetching colored2 3.1.2
Installing colored2 3.1.2
Fetching nanaimo 0.2.6
Installing nanaimo 0.2.6
Fetching xcodeproj 1.5.7
Installing xcodeproj 1.5.7
Bundle complete! 1 Gemfile dependency, 7 gems now installed.
Bundled gems are installed into `./gems`

затем выполните ваш rubygem, используя bundler

$ bundle exec xcodeproj --version
1.5.7

обратите внимание, что когда вы используете rbenv и хотите выполнить rubygem без управления упаковщиком, вам нужно будет убедиться, что для каждой версии rbenv вы устанавливаете свои любимые гемы. например, если вы используете 2 разные версии ruby ​​и вам нравится pry rubygem, вам придется установить pry для каждой версии ruby.

...