# Requiring libraries in command line scripts?

**URL:** <https://www.ruby-forum.com/t/requiring-libraries-in-command-line-scripts/62274>\
**Category:** Ruby\
**Created:** [June 2, 2006, 3:28am UTC](https://www.ruby-forum.com/t/requiring-libraries-in-command-line-scripts/62274 "2006-06-02T03:28:20Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![joe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b9e5f3/32.png) [@joe](https://www.ruby-forum.com/u/joe)\
**Post date:** [June 2, 2006, 3:28am UTC](https://www.ruby-forum.com/t/requiring-libraries-in-command-line-scripts/62274/1 "2006-06-02T03:28:20Z")

</div>

I have a simple script:

#!/usr/bin/ruby

require ‘rubilicious’  
#require ‘/usr/lib/ruby/gems/1.8/gems/Rubilicious-0.1.5/rubilicious.rb’

r = Rubilicious.new(‘joe’, ‘12345’)

r.add(‘[http://yahoo.com](http://yahoo.com)’, ‘yahoo’)

When run, I get:  
`require’: no such file to load – rubilicious (LoadError)

But if I comment out the first require, and uncomment the second, it  
works. Is there something I can do so that command line scripts don’t  
have to specify the full path when including library files?

Thanks,  
Joe

---

<div class="post-metadata">

**Author:** ![joe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b9e5f3/32.png) [@joe](https://www.ruby-forum.com/u/joe)\
**Post date:** [June 2, 2006, 3:36am UTC](https://www.ruby-forum.com/t/requiring-libraries-in-command-line-scripts/62274/2 "2006-06-02T03:36:18Z")

</div>

Joe wrote:

> 

Don’t you need to require ‘rubygems’ before requiring a gem?

---

<div class="post-metadata">

**Author:** ![joe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b9e5f3/32.png) [@joe](https://www.ruby-forum.com/u/joe)\
**Post date:** [June 2, 2006, 3:49am UTC](https://www.ruby-forum.com/t/requiring-libraries-in-command-line-scripts/62274/3 "2006-06-02T03:49:09Z")

</div>

Timothy H. wrote:

> Joe wrote:
> 
> > 
> 
> Don’t you need to require ‘rubygems’ before requiring a gem?

Ah, yep, you’re right! I thought I had gotten such scripts to work  
before.

Thanks,  
Joe

---

<div class="post-metadata">

**Author:** ![joe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b9e5f3/32.png) [@joe](https://www.ruby-forum.com/u/joe)\
**Post date:** [June 2, 2006, 4:01am UTC](https://www.ruby-forum.com/t/requiring-libraries-in-command-line-scripts/62274/4 "2006-06-02T04:01:32Z")

</div>

This is interesting.

How does this work? Does the rubygems library replace the “require”  
keyword with an implementation that is gem savvy and knows where to look  
for them? Does gems always install things in this one standard “place”?

thanks,  
jp

Timothy H. wrote:

> Joe wrote:
> 
> > 
> 
> Don’t you need to require ‘rubygems’ before requiring a gem?

---

<div class="post-metadata">

**Author:** ![joe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b9e5f3/32.png) [@joe](https://www.ruby-forum.com/u/joe)\
**Post date:** [June 2, 2006, 5:17am UTC](https://www.ruby-forum.com/t/requiring-libraries-in-command-line-scripts/62274/5 "2006-06-02T05:17:48Z")

</div>

On Jun 2, 2006, at 3:01, Jeff P. wrote:

> This is interesting.
> 
> How does this work? Does the rubygems library replace the “require”  
> keyword with an implementation that is gem savvy and knows where to  
> look  
> for them? Does gems always install things in this one standard  
> “place”?

You pretty much got it in one.

(though technically, ‘require’ is a method, not a keyword)

matthew smillie.
