On 5/14/07, Ronald Fischer <ronald.fischer / venyon.com> wrote:
> It seems that I am hunted with library search problems....
>
> I installed the net-ssh Gem, and gem indeed installed it at the
> default library for Jruby, but still my program can't find the
> library!
>
> Here is the installation command and its output:
>
> H:\dl\lang\net-ssh-1.1.1>gem install net-ssh
> Bulk updating Gem source index for: http://gems.rubyforge.org
> Install required dependency needle? [Yn]  y
> Successfully installed net-ssh-1.1.1
> Successfully installed needle-1.3.0
> Installing ri documentation for net-ssh-1.1.1...
> Installing ri documentation for needle-1.3.0...
> Installing RDoc documentation for net-ssh-1.1.1...
> Installing RDoc documentation for needle-1.3.0...
>
>
> This is my Gem environment:
>
> C:\ruby185\lib\ruby\site_ruby>gem environment
> RubyGems Environment:
>   - VERSION: 0.9.1 (0.9.1)
>   - INSTALLATION DIRECTORY: H:/jruby-0.9.9/lib/ruby/gems/1.8
>   - GEM PATH:
>      - H:/jruby-0.9.9/lib/ruby/gems/1.8
>   - REMOTE SOURCES:
>      - http://gems.rubyforge.org
>
>
> But when I want to run the following program, I get an error message
> saying
> that net/ssh is not found:
>
> H:\tmp>type t2.rb
> require 'socket'
> require 'net/telnet'
> require 'net/ssh'
>
> H:\tmp>jruby t2.rb
> t2.rb:3:in `require': no such file to load -- net/ssh (LoadError)
>         from t2.rb:3
>
>
> Since the library was installed using the "gem" command, jruby should
> be able to locate it automatically, doesn't it?

I don't know much about jruby, but in normal ruby (MRI) you have to
require 'rubygems', either by adding this line to the source, running
ruby -rubygems or setting $RUBYOPT to rubygems.

Note: If rubygems are loaded you get a different message when a file
is not loaded, similar to the following:

/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require__': no such file to load -- zlib
(LoadError)
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require'
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems/package.rb:9
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require'
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems/builder.rb:1
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require'
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:61:in `manage_gems'
        ...