我想让邦德勒装本地宝石。有别的选择吗?或者我必须将gem文件夹移动到.bundle目录?


当前回答

如果你也想要分支:

gem 'foo', path: "point/to/your/path", branch: "branch-name"

其他回答

你可以用source引用宝石:

来源:'https://source.com', git仓库(:github => 'git/url') 使用本地路径

:path => '…/path/gem_name'。

您可以了解更多关于[Gemfiles和如何使用它们] (https://kolosek.com/rails-bundle-install-and-gemfile)。

我相信你能做到:

gem "foo", path: "/path/to/foo"

除了指定路径(如Jimmy提到的),您还可以通过使用以下配置选项强制Bundler仅为您的环境使用本地gem:

$ bundle config set local.GEM_NAME /path/to/local/git/repository

如果你正在开发两个gem或者一个gem和一个rails应用程序,这是非常有用的。

但是请注意,这只在你已经在使用git的依赖时才有效,例如:

# In Gemfile
gem 'rack', :github => 'rack/rack', :branch => 'master'

# In your terminal
$ bundle config set local.rack ~/Work/git/rack

从文档中可以看到。

你也可以用git引用一个本地gem,如果你碰巧正在使用它的话。

gem 'foo',
  :git => '/Path/to/local/git/repo',
  :branch => 'my-feature-branch'

然后,如果有变化,我就跑

bundle exec gem uninstall foo
bundle update foo

但我不确定每个人都需要执行这两个步骤。

如果你也想要分支:

gem 'foo', path: "point/to/your/path", branch: "branch-name"