2010-10-31 62 views
27

假设我安装了两个版本的gem(somegem版本为0.10.6和0.10.5),我想从命令行运行早期版本。我必须卸载较新的版本吗?有没有一种方法可以使用标志来指定我想要使用的版本?喜欢的东西...如何从命令行调用gem的旧版本?

somegem /path/to/dir --version 0.10.5 

我查了RubyGems的文档,并且只介绍了如何使用特定的版本,当你需要从文件中的宝石,但没有有关如何从命令行做到这一点。

+0

为什么要从命令行“加载宝石”?当然,除非您在Ruby代码中使用gem,否则毫无意义(然后,您按照说明从文件中请求该代码......) – Gareth 2010-10-31 02:52:16

+0

我并非试图加载,而只是运行一个gem的二进制文件。当然,他们不是一回事。我需要有时运行旧版本,或者我想运行我已修改的宝石,但也可以在必要时运行原始宝石。由于它们都被命名为“somegem”,Ruby无法区分它们并使用最新版本的二进制文件。 – picardo 2010-10-31 04:50:27

回答

48
somegem _0.10.5_ /path/to/dir 

没有链接到文档,因为显然没有任何。

+0

你是否认为这是因为Rubygems的民众对文档松散,或者这种功能有些不受支持,或者两者混合? – 2010-10-31 23:12:51

+3

这个(实际上,'ruby -S somegem _1.4.3_',因为'somegem'默认运行ruby1.9.1)为rubygems 1.8.15工作。 – 2012-10-15 03:27:54

+0

显然,它在安装脚本,其中正在执行的命令实际上是包裹添加这种行为https://github.com/rubygems/rubygems/blob/abf89e04954b8a2ddfb6948d0860111990a6efa2/lib/rubygems/installer.rb#L652但我也做在任何地方都找不到它 – 2014-10-02 14:55:38

相关问题