pic*_*rdo 346 ruby rubygems ruby-on-rails bundler ruby-on-rails-3
我想要Bundler加载本地gem.那有选择吗?或者我是否必须将gem文件夹移动到.bundle目录中?
Jim*_*dra 520
我相信你可以这样做:
gem "foo", path: "/path/to/foo"
Run Code Online (Sandbox Code Playgroud)
blo*_*ilk 220
除了指定路径(如Jimmy所提到的),您还可以通过使用以下配置选项强制Bundler 仅为您的环境使用本地gem :
$ bundle config local.GEM_NAME /path/to/local/git/repository
Run Code Online (Sandbox Code Playgroud)
如果您正在并行开发两个宝石或一个gem和一个rails应用程序,这将非常有用.
但请注意,这仅在您已经使用git作为依赖项时才有效,例如:
# In Gemfile
gem 'rack', :github => 'rack/rack', :branch => 'master'
# In your terminal
$ bundle config local.rack ~/Work/git/rack
Run Code Online (Sandbox Code Playgroud)
正如文档中所见.
Rim*_*ian 30
如果您正在使用git,也可以使用git引用本地gem.
gem 'foo',
:git => '/Path/to/local/git/repo',
:branch => 'my-feature-branch'
Run Code Online (Sandbox Code Playgroud)
然后,如果它改变了我跑
bundle exec gem uninstall foo
bundle update foo
Run Code Online (Sandbox Code Playgroud)
但我不确定每个人都需要运行这两个步骤.
got*_*tqn 18
要在Rails项目中使用本地gem存储库,请按照以下步骤操作:
检查您的gem文件夹是否是git存储库(该命令在gem文件夹中执行)
git rev-parse --is-inside-work-tree
Run Code Online (Sandbox Code Playgroud)获取存储库路径(该命令在gem文件夹中执行)
git rev-parse --show-toplevel
Run Code Online (Sandbox Code Playgroud)为rails应用程序设置本地覆盖
bundle config local.GEM_NAME /path/to/local/git/repository
Run Code Online (Sandbox Code Playgroud)
GEM_NAME
gem的名称在哪里,是/path/to/local/git/repository
命令的输出2
在您的应用程序中Gemfile
添加以下行:
gem 'GEM_NAME', :github => 'GEM_NAME/GEM_NAME', :branch => 'master'
Run Code Online (Sandbox Code Playgroud)跑步bundle install
应该给出这样的东西:
Using GEM_NAME (0.0.1) from git://github.com/GEM_NAME/GEM_NAME.git (at /path/to/local/git/repository)
Run Code Online (Sandbox Code Playgroud)
这里GEM_NAME
是你的宝石的名称和/path/to/local/git/repository
从点2
最后,运行bundle list
,而不是gem list
,你应该看到这样的事情:
GEM_NAME (0.0.1 5a68b88)
Run Code Online (Sandbox Code Playgroud)
GEM_NAME
宝石的名称在哪里
我观察到的几个重要案例:
Rails 4.0.2
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
Ubuntu 13.10
RubyMine 6.0.3
Run Code Online (Sandbox Code Playgroud)
RubyMine
没有将本地宝石显示为外部库.有关该错误的更多信息可以在这里和这里找到 stop/start
使用rails服务器如果我要更改version
gem,stopping/starting
Rails服务器会给我一个错误.为了解决这个问题,我在rails应用程序中指定了gem版本,Gemfile
如下所示:
gem 'GEM_NAME', '0.0.2', :github => 'GEM_NAME/GEM_NAME', :branch => 'master'
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
118452 次 |
最近记录: |