强制捆绑器在用户的主目录中安装gem

时间:2013-04-16 07:22:10

标签: ruby-on-rails bundler

上次我正在尝试学习如何使用Ruby on Rails进行Web开发,并使用我的Arch GNU / Linux机器。 Arch的策略要求将gem安装在用户目录中,而不是通常的系统范围位置。但是,它与bundler(尝试在系统范围内安装gem)的默认行为相矛盾。因此,每当我运行rails new foo时,捆绑包都会要求我输入我的root密码。

我想强制bundler在我的主目录中安装Rails所需的gem。我尝试运行bundle install --path .bundle,但它会再次下载并安装所有Rails gems,这显然是我不想做的事情。

你知道怎么做吗?

更新:最后,我通过运行bundle install --path ~/.gem获得了预期的效果。

1 个答案:

答案 0 :(得分:12)

您可以设置环境变量$BUNDLE_PATH$GEM_HOME。 Bundler将使用它们并在那里安装你的宝石。如果指定--path my_path,Bundler将记住此值以供将来安装。

  

[...]但它会再次下载并安装所有Rails宝石,这显然是我不想做的事情。

如果您想使用宝石的缓存版本,请使用--local