0

总而言之,我有一个客户端应用程序,它是一个 sinatra 应用程序,但这只是其中的一部分,其他一些部分将完成相关工作,例如下载,因此需要在新进程中生成,这主要是同一个客户端项目的 gem 依赖项所必需的,所以我当然使用一些代码在捆绑器环境中加载:

Dir.chdir(File.expand_path(File.dirname(__FILE__)))
ENV["BUNDLE_GEMFILE"] = File.expand_path("../Gemfile", __FILE__)
require 'bundler'
env = ENV['RACK_ENV'] || 'development'
Bundler.setup
Bundler.require :default, env.to_sym,

但不幸的是,即使没有代码,比如 puts 3,sinatra 应用程序也会启动并监听 4567,这很烦人,我还尝试了模块化方法在文件中写入一个空类

class MyApp < Sinatra::Base;
end

但是sinatra还是从4567开始,挺烦人的,有办法不启动sinatra吗?谢谢。

4

1 回答 1

0

找出问题所在,因为在 Gemfile 中,是:gem "sinatra",最好使用 gem "sinatra", :require =>"sinatra/base" 代替。

于 2012-12-27T06:20:14.847 回答