Subject: | sd browse gives me "Single parameters to new() must be a HASH ref at /usr/local/share/perl/5.10.1/Prophet/CLI/Command/Server.pm line 44" |
Date: | Sun, 12 Dec 2010 15:11:25 +0100 |
To: | bug-App-SD [...] rt.cpan.org, bug-Prophet [...] rt.cpan.org |
From: | Mikhail Kalkov <mikhail.kalkov [...] gmail.com> |
Hey,
Yesterday I tried installing SD (and Prophet) by following the guide at [
http://syncwith.us/sd/download]. Everything but the sd-browse command seems
to work now. When I type in "sd browse" what I get is the following
line: "*Single
parameters to new() must be a HASH ref at
/usr/local/share/perl/5.10.1/Prophet/CLI/Command/Server.pm line 44*" Here
are the offending lines:
37 sub setup_server {
38 my $self = shift;
39
40 my $server_class = ref($self->app_handle) . "::Server";
41 if (!$self->app_handle->try_to_require($server_class)) {
42 $server_class = "Prophet::Server";
43 }
44 my $server = $server_class->new( $self->arg('port') || 8080 );
45 $server->app_handle( $self->app_handle );
46 return $server;
47 }
While I am not a Perl guy, and don't know how to fix it, this seems to be a
trivial thing. What is more, this is code in your git-master, so it should
not break that easily.
INSTALLED SOFTWARE
OS: up-to-date Ubuntu 10.10
Perl: 5.10.1, in particular 5.10.1-12ubuntu2 (see changelog at
http://changelogs.ubuntu.com/changelogs/pool/main/p/perl/perl_5.10.1-12ubuntu2/changelog
)
SD:
https://github.com/bestpractical/sd/commit/444821833ac3c159f92ef6261a56500cbbb0590d(current
master HEAD)
Prophet:
https://github.com/bestpractical/prophet/commit/1244be53c20192d3c33dfaef13fd87753921002e(current
master HEAD)
STEPS-TO-PRODUCE
Show quoted text
> # Install Prophet
> cd ~/projects
> git clone git://github.com/bestpractical/prophet.git
> cd prophet
> PERL_MM_USE_DEFAULT=1 perl Makefile.PL
> sudo make test # need rights to install some dependencies
> sudo make install
> cd ..
> # Install SD
> git clone git://github.com/bestpractical/sd.git
> cd prophet
> PERL_MM_USE_DEFAULT=1 perl Makefile.PL
> sudo make test # need rights to install some dependencies
> sudo make install
> cd ..
> export PATH=~/projects/prophet/bin/:~/projects/sd/bin/:${PATH}
> mkdir test-project && cd test-project
> sd init
> sd browser
Kind regards,
Mikhail Kalkov