Webby, Gems and Paths

L

Leslie Viljoen

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?
 
L

Leslie Viljoen

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
 
T

Tim Pease

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
 
L

Leslie Viljoen

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.
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.
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
 
L

Leslie Viljoen

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!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,774
Messages
2,569,596
Members
45,127
Latest member
CyberDefense
Top