我在使用捆扎机和特拉的问题。首先,我在我的app.rb使用这样的:

require 'rubygems'
require 'bundler/setup'
require 'sinatra'
require 'haml'
require 'redis'
...

不过,我读到Bundler.require,并认为这是一个不错的干法,因为在Gemfile中指定的宝石是我的将需要那些的在我的应用程序呢。我为什么要指定在app.rb再次要求?所以我改变了我的代码:

require 'rubygems'
require 'bundler'
Bundler.require(:default)

的效果好很多啊?直到问题随之而来:

Errno::ENOENT at /
No such file or directory - /home/lamnk/.rvm/gems/ruby-1.9.2-head/gems/bundler-1.0.7/lib/bundler/views/index.haml
file: tilt.rb location: read line: 119

显然打捆已经移动应用程序的根路径到它自己。但是,这是为什么?

有帮助吗?

解决方案

旧的答案:

看一看“使用为您的应用程序“对Engine Yard的博客RubyGems的捆绑。

新答案:

正如Lamnk指出的,交上Engine Yard的是旧的;所以我做了一个简单的应用程序 https://github.com/sinetris/sinatra-example-bundler

scroll top