[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Webby, Gems and Paths

Leslie Viljoen

2/4/2008 9:43:00 PM

I am running an Ubuntu box, and it seems that whenever I "gem install" something
with an executable (eg. /var/lib/gems/1.8/gems/webby-0.7.2/bin/webby)
- I have to
make a link to it in /usr/local and set the +x flag before it works.
With Webby, linking
still doesn't work because it tries to load libraries with relative paths:

/usr/local/bin/webby:4:in `require': no such file to load --
/usr/local/lib/webby (LoadError)

...so I have to cd to /var/lib/gems...etc. to run it.

Is there something wrong with my gems setup? Also, once I had build my
Webby site,
I had to put "require 'rubygems'" in tasks/setup.rb before anything would work.

After that Webby seems to work very well, except for one more thing
that I cannot
resolve. When I try to create a new page:

lesliev@lesliev-laptop:/media/Storage/linux/qbe$ rake create:page about --trace
(in /media/Storage/linux/qbe)
** Invoke create:page (first_time)
** Execute create:page
rake aborted!
undefined method `top_level_tasks' for #<Rake::Application:0xb7bc7354>
/var/lib/gems/1.8/gems/webby-0.7.2/lib/webby/webby_task.rb:94:in
`define_create_tasks'
/usr/lib/ruby/1.8/rake.rb:387:in `call'
/usr/lib/ruby/1.8/rake.rb:387:in `execute'
/usr/lib/ruby/1.8/rake.rb:387:in `each'
/usr/lib/ruby/1.8/rake.rb:387:in `execute'
/usr/lib/ruby/1.8/rake.rb:357:in `invoke'
/usr/lib/ruby/1.8/rake.rb:350:in `synchronize'
/usr/lib/ruby/1.8/rake.rb:350:in `invoke'
/usr/lib/ruby/1.8/rake.rb:1924:in `run'
/usr/lib/ruby/1.8/rake.rb:1924:in `each'
/usr/lib/ruby/1.8/rake.rb:1924:in `run'
/usr/bin/rake:4


Any help?

4 Answers

Leslie Viljoen

2/4/2008 10:20:00 PM

0

On the webby create:page problem I was having, I can get a page
to be created if I change "top_level_tasks" to "collect_tasks":

/var/lib/gems/1.8/gems/webby-0.7.2/lib/webby/webby_task.rb:

desc "create a new #{name}"
task name do |t|
raise "Usage: rake #{t.name} path" unless ARGV.length == 2

#page = t.application.top_level_tasks.pop
page = t.application.collect_tasks.pop

name = ::Webby::File.basename(page)
ext = ::Webby::File.extname(page)
dir = ::Webby::File.dirname(page)



That works, but I do get a (superfluous?) error from Rake:
Don't know how to build task 'about'


Leslie

Tim Pease

2/4/2008 10:24:00 PM

0


On Feb 4, 2008, at 2:43 PM, Leslie Viljoen wrote:

> I am running an Ubuntu box, and it seems that whenever I "gem
> install" something
> with an executable (eg. /var/lib/gems/1.8/gems/webby-0.7.2/bin/webby)
> - I have to
> make a link to it in /usr/local and set the +x flag before it works.
> With Webby, linking
> still doesn't work because it tries to load libraries with relative
> paths:
>
> /usr/local/bin/webby:4:in `require': no such file to load --
> /usr/local/lib/webby (LoadError)
>
> ...so I have to cd to /var/lib/gems...etc. to run it.

What version of "gem" do you have installed?

$ gem --version

>
>
> Is there something wrong with my gems setup? Also, once I had build my
> Webby site,
> I had to put "require 'rubygems'" in tasks/setup.rb before anything
> would work.

Okay, that was my bad. It will be fixed in the next release.

>
>
> After that Webby seems to work very well, except for one more thing
> that I cannot
> resolve. When I try to create a new page:
>
> lesliev@lesliev-laptop:/media/Storage/linux/qbe$ rake create:page
> about --trace
> (in /media/Storage/linux/qbe)
> ** Invoke create:page (first_time)
> ** Execute create:page
> rake aborted!
> undefined method `top_level_tasks' for #<Rake::Application:0xb7bc7354>
> /var/lib/gems/1.8/gems/webby-0.7.2/lib/webby/webby_task.rb:94:in
> `define_create_tasks'
> /usr/lib/ruby/1.8/rake.rb:387:in `call'
> /usr/lib/ruby/1.8/rake.rb:387:in `execute'
> /usr/lib/ruby/1.8/rake.rb:387:in `each'
> /usr/lib/ruby/1.8/rake.rb:387:in `execute'
> /usr/lib/ruby/1.8/rake.rb:357:in `invoke'
> /usr/lib/ruby/1.8/rake.rb:350:in `synchronize'
> /usr/lib/ruby/1.8/rake.rb:350:in `invoke'
> /usr/lib/ruby/1.8/rake.rb:1924:in `run'
> /usr/lib/ruby/1.8/rake.rb:1924:in `each'
> /usr/lib/ruby/1.8/rake.rb:1924:in `run'
> /usr/bin/rake:4
>

What version of rake do you have installed? You should be running the
latest (version 0.8.1 I believe).

$ sudo gem update rake

Blessings,
TwP

Leslie Viljoen

2/5/2008 8:30:00 AM

0

On Feb 5, 2008 12:23 AM, Tim Pease <tim.pease@gmail.com> wrote:
>
> On Feb 4, 2008, at 2:43 PM, Leslie Viljoen wrote:
>
> > I am running an Ubuntu box, and it seems that whenever I "gem
> > install" something
> > with an executable (eg. /var/lib/gems/1.8/gems/webby-0.7.2/bin/webby)
> > - I have to
> > make a link to it in /usr/local and set the +x flag before it works.
> > With Webby, linking
> > still doesn't work because it tries to load libraries with relative
> > paths:
> >
> > /usr/local/bin/webby:4:in `require': no such file to load --
> > /usr/local/lib/webby (LoadError)
> >
> > ...so I have to cd to /var/lib/gems...etc. to run it.
>
> What version of "gem" do you have installed?
>
> $ gem --version

0.9, I have just updated to 1.01, so perhaps that will work better.

> > Is there something wrong with my gems setup? Also, once I had build my
> > Webby site,
> > I had to put "require 'rubygems'" in tasks/setup.rb before anything
> > would work.
>
> Okay, that was my bad. It will be fixed in the next release.

Maybe not. The rubygems website says I should set my RUBYOPT
environment variable, so that would sort this problem out.

> > After that Webby seems to work very well, except for one more thing
> > that I cannot
> > resolve. When I try to create a new page:
> >
> > lesliev@lesliev-laptop:/media/Storage/linux/qbe$ rake create:page
> > about --trace
> > (in /media/Storage/linux/qbe)
> > ** Invoke create:page (first_time)
> > ** Execute create:page
> > rake aborted!
> > undefined method `top_level_tasks' for #<Rake::Application:0xb7bc7354>
> > /var/lib/gems/1.8/gems/webby-0.7.2/lib/webby/webby_task.rb:94:in
> > `define_create_tasks'
> > /usr/lib/ruby/1.8/rake.rb:387:in `call'
> > /usr/lib/ruby/1.8/rake.rb:387:in `execute'
> > /usr/lib/ruby/1.8/rake.rb:387:in `each'
> > /usr/lib/ruby/1.8/rake.rb:387:in `execute'
> > /usr/lib/ruby/1.8/rake.rb:357:in `invoke'
> > /usr/lib/ruby/1.8/rake.rb:350:in `synchronize'
> > /usr/lib/ruby/1.8/rake.rb:350:in `invoke'
> > /usr/lib/ruby/1.8/rake.rb:1924:in `run'
> > /usr/lib/ruby/1.8/rake.rb:1924:in `each'
> > /usr/lib/ruby/1.8/rake.rb:1924:in `run'
> > /usr/bin/rake:4
> >
>
> What version of rake do you have installed? You should be running the
> latest (version 0.8.1 I believe).

Ah, I have 0.7.1. Updating now...

Thanks for all your help!

Leslie

Leslie Viljoen

2/5/2008 8:47:00 AM

0

Ok, everything seems to be working right now, although I had to
reinstall the Webby and BlueCloth gems (local install: "gem install
webby bluecloth"). I added the RUBYOPT environment variable and all
seems well. Webby also looks very nice so far, although I obviously
will need to learn Latin ;-)

Thanks!