نشر سيناترا التطبيق على درمهوست]/الركاب مع العرف الأحجار الكريمة

StackOverflow https://stackoverflow.com/questions/1829973

سؤال

لدي سيناترا التطبيق الذي أحاول أن تعمل على درمهوست] أن يجعل استخدام من المهر لإرسال البريد الإلكتروني.من أجل الحصول على التطبيق وتشغيلها في البداية (قبل إضافة المهر) ، لقد كان gem unpack rack و gem unpack sinatra إلى بائع/ دليل لذلك كان هذا بلدي config.ru:

require 'vendor/rack/lib/rack'
require 'vendor/sinatra/lib/sinatra'

set :run, false
set :environment, :production
set :views, "views"

require 'public/myapp.rb'
run Sinatra::Application

كنت قد فعلت بالفعل gem install pony و gem unpack pony (إلى بائع/).بعد ذلك حاولت إضافة require 'vendor/sinatra/lib/pony' إلى config.ru إلا أن يكون الركاب يشكو المهر تبعيات (mime-أنواع tmail) لم يتم العثور سواء!

هناك وقد أفضل طريقة لاستخدام الأحجار الكريمة الأخرى و لهجة أسفل تلك قبيحة زائدة requires.أي أفكار ؟

هل كانت مفيدة؟

المحلول

أود أن أوصي بإنشاء مسار GEM الخاص بك "في مكان ما" ثم مضيفه config.ruمثل:

ENV['GEM_PATH'] = xxx
Gem.clear_paths

ثم تثبيت الأحجار الكريمة الخاصة بك في ذلك

نصائح أخرى

تثبيت جواهر روبي على dreamhost

http://c.kat.pe/post/installing-ruby-gem-on-dreamhost/

تغيير config.ru (أعمال sinatra 1.0)

تتطلب "روبييجيمس"

تتطلب "البائع / Sinatra / lib / sinatra.rb

ENV['GEM_HOME'] = '/home/username/.gems'
ENV['GEM_PATH'] = '$GEM_HOME:/usr/lib/ruby/gems/1.8'
require 'rubygems'
Gem.clear_paths

disable :run, :reload

set :environment, :production

require 'yourapp'
run Sinatra::Application

آمل أن يساعد شخص ما.

أنا أستخدم المهر والكثير من الأحجار الكريمة الأخرى لبلدي سيناترا. يجب أن تعمل بشكل جيد بالنسبة لك أيضا. إنه فقط هذين سطرين (gem_home و gem_path) عليك أن تضيف على التكوين الخاص بك.

استغرق مني الأعمار تجد أنه يمكنك ببساطة استخدام "جوهرة تثبيت سيناترا" و جوهرة سوف معرفة (لأن النظام الدلائل للقراءة فقط) التي سوف تحتاج إلى استخدام محلي gem install.اعتبارا من الآن, يبدو أن هناك حاجة إلى تعيين أي بيئة خاصة على الإطلاق.أنها شخصيات من استخدام $HOME/.جوهرة المحلية جوهرة الطريق و كل شيء يعمل تماما.لا حاجة تتطلب 'بائع/الأشياء' على الإطلاق.لم أجد لدي لإضافة $HOME/.جوهرة/روبي/1.8/بن على طريقي من أجل تنفيذ الثنائيات تثبيت الأحجار الكريمة.

هنا هو بلدي config.ru (على درمهوست])

## Passenger should set RACK_ENV for Sinatra
require 'test'
set :environment, :development
run Sinatra::Application

في وقت لاحق تحرير:هذا هو كل شيء جيد ، لكن تبقى مسألة أن الركاب لا يمكن العثور على الأحجار الكريمة بلدي عندما عمل في البداية يبدأ.

بلدي config.ru بسيط تماما مثل:

require 'rubygems'
require 'vendor/sinatra/lib/sinatra.rb'
require 'app.rb'

و app.rb رئيس:

require 'yaml'
require 'haml'
require 'ostruct'
require 'date'
require 'pp'

module FlytoFB
    log = File.new("sinatra.log", "a")
    STDOUT.reopen(log)
    STDERR.reopen(log)

    configure do

            enable :logging, :dump_errors
            set :app_file, __FILE__
            set :reload, true
            set :root, File.dirname(__FILE__)
            set :environment, :production
            set :env, :production
            set :run, false

            set :raise_errors, true
      set :public, 'public'

            error do
                    e = request.env['sinatra.error']
                    puts e.to_s
                    puts e.backtrace.join("\n")
                    "Application Error!"
            end

            not_found do
              "Page not found!"
      end
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top