无法在rbenv环境中切换gem版本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在rbenv环境中切换gem版本相关的知识,希望对你有一定的参考价值。
我在我的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)”错误。
我能做些什么才能运行以前的版本?
答案
你应该使用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 rubygem,那么你将不得不为每个ruby版本安装pry。
以上是关于无法在rbenv环境中切换gem版本的主要内容,如果未能解决你的问题,请参考以下文章
Bundler 无法与 rbenv 一起使用,找不到 [gem]
无法使用 rbenv 执行已安装的 gem `erb2slim`