如何在命令行上切换cocoapods(或其他gem)版本?

时间:2015-01-24 22:24:01

标签: ruby gem cocoapods rbenv

有一些答案说使用gem 'cocoapods', '0.33.1'gem 'pod', '0.33.1

但这不起作用。

ERROR: While executing gem ... (Gem::CommandLineError) Unknown command cocoapods,

在一个项目中,我需要使用0.33.1,而在另一个项目中使用0.34.4。如何在命令行上快速切换cocoapods版本?我不想使用gem install或uninstall。

我正在使用rbenv和ruby版本2.0.0p0。继续使用rbenv是首选,但只有在没有其他选项时我才能切换到rvm或纯ruby。

感谢。

3 个答案:

答案 0 :(得分:17)

您可以执行以下操作以使用不同的版本:

pod _0.34.4_ install 

pod _0.34.1_ install

答案 1 :(得分:7)

这正是Bundler

的目的

在一个项目中,您可以在Gemfile

中指定
gem 'cocoapods', '0.33.1'

以及所有其他宝石..并运行bundle install来安装它们。

还有一些其他步骤可以确保您从bundler加载这些宝石,我会阅读该网站以获取完整的文档。

Rails项目已经为你设置了这个,但如果这是一个普通的ruby项目,你必须自己连接它。

答案 2 :(得分:2)

仅供参考我使用以下临时解决方案。 由于我使用rbenv,我在不同版本的ruby下安装不同版本的cocoapods。 例如,

rbenv global 2.1.0 gem install cocoapods -v 0.34.4 rbenv global 2.0.0-p0 gem install cocoapods -v 0.33.1

当我处理需要不同版本Cocoapods的不同Xcode项目时,我只需动态切换ruby版本,并相应地切换Cocoapods版本。

正如我所提到的,这些是xCode项目,我们不允许在项目文件夹中添加gemfile或安装gem。所以这适合我。