如何设置bundle install的目标路径?

问题描述 投票:0回答:2

在我的家庭盒子上,

bundle install
命令询问我的密码并将宝石安装在

/var/lib/gems/1.8/gems/...

但是在我的办公室计算机上,它们安装在

~/.bundler/cache/git
(或至少缓存在那里)并且没有安装在主文件系统中。

我不知道如何设置它们的安装路径。请帮忙!

ruby rubygems bundler
2个回答
12
投票

您可以使用指定安装宝石的位置

bundle install --path [directory]

这通常不是必需的;你通常可以只做“捆绑安装”就可以了。

当你想包含用于部署的 gem 时,你会想要使用

bundle package

默认情况下,会将您的宝石放入 ./vendor/cache。如果您随后部署项目并执行

bundle install --deployment

Bundler 将从该目录获取文件并将它们安装到 ./vendor/bundle。更多信息可以通过做

获得
bundle help install

希望这有用。


0
投票

正如 Mohamed Hakki 指出的那样,另一个答案现在是 deprecated.


您现在可以使用以下方式设置 Bundler 的目标路径:

bundle config set --local path vendor/bundle

这里我们指定路径

vendor/bundle
(根据我的经验,这似乎是最常见和“标准”的路径),但您可以指定您想要的任何路径(包括
~/.bundler
)。

此命令实际上在您的工作目录中创建一个文件,

.bundle/config
,内容为:

---
BUNDLE_PATH: "vendor/bundle"

当然,我们以

vendor/bundle
为例,但
BUNDLE_PATH
将是您在命令调用中指定的任何路径。

一旦此文件位于您的工作目录中,所有来自同一工作目录的 Bundler 调用都将使用您指定的路径。

© www.soinside.com 2019 - 2024. All rights reserved.