1

我一直希望bundlergem-ctags安装在我安装的任何 Ruby 中。有没有办法让 rbenv / ruby​​-build 自动安装它们?

RVM 有@globalgemsets;rbenv中是否有等价物?

4

2 回答 2

1

使用 rbenv 插件

默认情况下,rbenv 不使用 gemsets。喜欢 rbenv 的人可能只是在他们想要不同的 gem 时破解他们的 GEM_PATH 和 GEM_HOME,但也有一些插件可以自动执行一些这种行为。我知道的两个是:

使用捆绑者的--path旗帜

当然,您也可以只使用带有 --path 标志的 bundler 将捆绑的 gem 安装到唯一的目录,而不是使用 gemset。bundle-install ( 1) 文档说:

--path=<路径>

将捆绑包中的 gem 安装到的位置。这默认为 gem home,这是 gem install 安装 gem 的位置。这意味着,默认情况下,没有 --path 设置的 gem 将显示在 gem 列表中。此设置是一个记住的选项。

考虑使用“包含电池”的 RVM

rbenv 的论点是比 RVM 更简单,并且在底层做的更少。我认为,如果您需要添加ruby ​​-build 、 rbenv-gemset 和其他插件来获得所需的功能,那么您不妨首先使用RVM

这不是对 rbenv 的批评,也不是对 RVM 的赞扬。我只是指出,如果您想要一个能够为您提供 RVM 大部分功能的工具,那么您最好只使用能够“开箱即用”的工具,而不是在post facto上固定功能。

你当然可以用 rbenv 做你需要做的事情,一种或另一种方式。我只是建议您不要将自己置于必须与工具作斗争才能完成工作的位置。

于 2012-11-03T18:13:16.133 回答
0

我编写了一个小 shell 脚本,告诉 Gem 将特定的 gem 添加到当前设置的任何 Ruby 中。这样,无论我是使用 rbenv、RVM 还是在我手动从源代码安装 Ruby 的机器上,它都可以工作。

于 2012-10-27T19:17:02.710 回答