我对bundler及其生成的文件有点新意.我有一个来自GitHub的git repo的副本,这是由很多人贡献的,所以我很惊讶地发现bundler创建了一个在repo中不存在但不在.gitignore
列表中的文件.
因为我已经分叉它,我知道将它添加到repo不会破坏主回购的任何东西,但是如果我做一个pull请求,它会导致问题吗?
应该Gemfile.lock
包含在存储库中吗?
我想要Bundler加载本地gem.那有选择吗?或者我是否必须将gem文件夹移动到.bundle目录中?
什么bundle exec rake db:migrate
意思?或者只是bundle exec rake <command>
一般?
据我所知,bundle
它负责维护Gemfile中的内容.我知道"exec"这个词是什么意思.我明白,rake
你可以保留所有不同的脚本,我知道这db:migrate
就是其中之一.我只是不知道这些话在一起做什么.为什么要bundle
用来rake
执行数据库迁移?
当我bundle install
在Centos 5.5上运行我的Rails 3项目时失败并出现错误:
Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3
read server certificate B: certificate verify failed
(https://bb-m.rubygems.org/gems/multi_json-1.3.2.gem)
An error occured while installing multi_json (1.3.2), and Bundler cannot continue.
Make sure that `gem install multi_json -v '1.3.2'` succeeds before bundling.
Run Code Online (Sandbox Code Playgroud)
当我尝试手动安装gem时(by gem install multi_json -v '1.3.2'
)它可以工作.其他几个宝石也会出现同样的问题.我使用RVM(1.12.3),ruby 1.9.2,bundler 1.1.3.
怎么解决?
我使用bundler来管理我的rails应用程序中的依赖项,并且我在git存储库中托管了一个gem,如下所示:
gem 'gem-name', :git => 'path/to/my/gem.git'
Run Code Online (Sandbox Code Playgroud)
为了更新这个gem,我执行bundle update
但它也更新了Gemfile中提到的所有gem.那么更新一个特定宝石的命令是什么?
运行该bundle install
命令后,将在工作目录中创建"Gemfile.lock ".该文件中的指令是什么意思?
例如,让我们采取以下文件:
PATH
remote: .
specs:
gem_one (0.0.1)
GEM
remote: http://example.org/
specs:
gem_two (0.0.2)
gem_three (0.0.3)
gem_four (0.0.4)
PLATFORMS
platform
DEPENDENCIES
gem_two
gem_one!
Run Code Online (Sandbox Code Playgroud)
' PATH ',' GEM ',' PLATFORMS '和' DEPENDENCIES '描述的是什么?他们都需要吗?
什么应该包含' 远程 '和' 规格 '子命令?
" DEPENDECIES "组中宝石名称后的感叹号是什么意思?
我有几个gem文件,我通过它安装gem install xx.gem
.我可以告诉Bundler使用它们吗?或者我是否必须指定源路径?
我通过以下教程正确安装了vps,ubuntu 10.04,rails 3,ruby和mysql.如果我运行bundle check
或bundle install
我收到错误'-bash:bundle:command not found'.从gem list --local
我看到'bundler(1.0.2,1.0.0)'已安装.
我不知道出了什么问题......
gem environment
收益:
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.8.7 (2010-04-19 patchlevel 253) [i686-linux]
- INSTALLATION DIRECTORY: /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /opt/ruby-enterprise-1.8.7-2010.02/bin/ruby
- EXECUTABLE DIRECTORY: /opt/ruby-enterprise-1.8.7-2010.02/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8
- /root/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold …
Run Code Online (Sandbox Code Playgroud) 我当然不是Ruby开发人员,但我的服务器上有一个使用Ruby,Gems和Bundler的应用程序.我试图在不同的用户帐户下安装另一个Ruby,但在相同的VPS上.当我去跑步
bundle install
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
无法找到Gemfile
我可以删除./bundle目录的内容,以便重新获取所有Gems以清除错误,但是这会对使用相同Gems和Bundler的其他应用程序产生影响吗?我不想冒险取消其他应用程序.