2011-02-24 4 views
0

나는 sinatra app을 휘감아 서 glassfish에 배치했습니다. 의존성을 관리하기 위해 번들러를 사용했고, WEB-INF/gems 디렉토리에 그 보석들을 포함 시켰습니다.Rakefile에서 볼 수없는 보석 보석

그러나 WEB-INF 디렉토리에서 rake 작업을 실행하려고하면 해당 작업이 실행되고 있지 않습니다.

[email protected]:~/glassfish/domains/domain1/applications/sinatra_app/WEB-INF$ rake resque:work 
(in /home/gfish/glassfish/domains/domain1/applications/sinatra_app/WEB-INF) 
rake aborted! 
Could not find gem 'sinatra (>= 0, runtime)' in any of the gem sources listed in your Gemfile. 
/home/gfish/glassfish/domains/domain1/applications/sinatra_app/WEB-INF/Rakefile:5:in `(root)' 
(See full trace by running task with --trace) 

[email protected]:~/glassfish/domains/domain1/applications/sinatra_app/WEB-INF$ **ls -l** gems/gems/ 
total 104 
... 
drwxr-xr-x 4 root root 4096 2011-02-24 14:38 sinatra-1.1.3 
+0

는 Bundler.setup를 참조 거기로부터는 '시나'보석을 요구하려고하지만 –

답변

0

마침내 발견했습니다. 나는 그것을하기 위해 다음 코드를 사용했다. 보석이 rakefile 또는 들러 사용할 수없는 이유를 확인 내 rakefile에서

# Add warbled gems to the $LOAD_PATH 
if ENV['RACK_ENV'] == "production" 
    puts "Adding warbled gems to the load path..." 
    local_gems_path = Dir[File.expand_path(".") + "/gems/gems/*"] 
    local_gems_path.each do |g| 
    $LOAD_PATH.unshift "#{g}/lib/" 
    end 
end