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

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

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

你知道怎么做吗?

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

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

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

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