无法在rbenv环境中切换gem版本

问题描述 投票:2回答:1

我在我的macOS 10.14.4上通过Homebrew安装了rbenv 1.1.2。

我在使用与最新版本不同的版本运行宝石时遇到问题。

例如,我安装了三个版本的xcodeproj gem(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),我会按预期得到“找不到gem xcodeproj(= 1.5.0)”错误。

我能做些什么才能运行以前的版本?

ruby macos rubygems homebrew rbenv
1个回答
0
投票

你应该使用bundler来管理Gemfile中指定的rubygems依赖项。例如:

$ 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`

然后使用bundler执行你的rubygem

$ bundle exec xcodeproj --version
1.5.7

请注意,当您使用rbenv并且想要在没有捆绑管理的情况下执行rubygem时,您必须确保为每个rbenv版本安装您喜欢的宝石。例如,如果你使用2个不同的ruby版本并且你喜欢pry ruby​​gem,那么你将不得不为每个ruby版本安装pry。

© www.soinside.com 2019 - 2024. All rights reserved.