2011/5/7 Richard Huxton <dev@archonet.com>:
This works: starman -E development -a bin/app.development.psgi ... This doesn't (complains about config not being loaded): starman -E development -a res/app.development.psgi ...
Dancer.pm have a below code in sub _init_script_dir. ------------------------------------------------------------------------- # in bin/ or public/ we need to go one level upper to find the appdir $LAYOUT_PRE_DANCER_1_2 = 0 if ($script_dirs[$#script_dirs - 1] eq 'bin') or ($script_dirs[$#script_dirs - 1] eq 'public'); my $appdir = $ENV{DANCER_APPDIR} || ( $LAYOUT_PRE_DANCER_1_2 ? $script_path : File::Spec->rel2abs(Dancer::path($script_path, '..')) ); Dancer::setting(appdir => $appdir); ------------------------------------------------------------------------- So, bin and public dir are special case which appdir is set to one level upper path. You may work around the problem to set DANCER_APPDIR environment variable. for example DANCER_APPDIR=`pwd` starman -E development -a res/app.development.psgi ... -- Takeshi OKURA