"ruby myscript.rb" Works, "./myscript.rb" Doesn't

ruby

    Next

  • 1. Rdoc problem on some gems (like ruby-graphviz)
    Hi, One of my computers is running Fedora 12, where I compiled ruby 1.9.1p376. There however, there is a problem with RDoc when I try to install some new gems (message below) like ruby-graphviz. Any idea what to do ??? thx JCLL [root@localhost ~]# gem19 install ruby-graphviz <skipped> Successfully installed ruby-graphviz-0.9.18 1 gem installed Installing ri documentation for ruby-graphviz-0.9.18... Updating ri class cache with 266 classes... Installing RDoc documentation for ruby-graphviz-0.9.18... ERROR: While generating documentation for ruby-graphviz-0.9.18 .. MESSAGE: Error while evaluating /usr/local/lib/ruby/gems/1.9.1/gems/rdoc-2.3.0/lib/rdoc/generator/template/darkfish/classpage.rhtml: undefined method `each' for #<String:0xad61da0> (at "r\">Namespace</h3>\n\t\t\t\t<ul class=\"link-list\">\n\t\t\t\t\t") .. RDOC args: lib README.rdoc COPYING AUTHORS (continuing with the rest of the installation) gem19 update --system Updating RubyGems Nothing to update gem19 list -b --local *** LOCAL GEMS *** doodle (0.2.3) haml (2.2.24) hanna (0.1.12) progressbar (0.9.0) rake (0.8.7) rdoc (2.3.0) ruby-graphviz (0.9.18) And then "require 'graphviz'" fails
  • 2. Gem dependencies issue
    [Note: parts of this message were removed to make it a legal post.] Ok, I'm trying to install gem A. I could give you the names of the gems, but I doubt it matters. Anyway, gem A requires gems B and C, any versions. So it goes and gets the newest version of B and installs it, no problem. Then it goes to install C, but C requires a particular (old) version of B. So it croaks and refuses to install. I'm sure there's an easy solution to this, but I don't know it....if I wanted this much pain, I'd have two wives...

"ruby myscript.rb" Works, "./myscript.rb" Doesn't

Postby Nathan O. » Sat, 11 Mar 2006 05:35:40 GMT

I have a script. When I run it via "ruby myscript.rb", it works great. 
When I run it via "./myscript.rb", it complains:

: No such file or directory.

The top of the file starts with "#!/usr/bin/env ruby", which works for 
other scripts in the same directory. I know it's spelled right. And the 
file is set executable.

The colon (":") at the start of the error message makes me think it's 
looking for a file with no name when it should be looking for my script. 
Again, the script works great when run as a param to the "ruby..." 
command.

-- 
Posted via  http://www.**--****.com/ 



Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't

Postby Michael Gorsuch » Sat, 11 Mar 2006 05:51:31 GMT

Did you "chmod +x" the script?






Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't

Postby Michael Gorsuch » Sat, 11 Mar 2006 05:53:04 GMT

Sorry.  I just noticed that it is already executable.

What if you use the path straight to the ruby interpreter, and not /usr/bin/env?





Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't

Postby Nathan Olberding » Sat, 11 Mar 2006 06:03:47 GMT

> What if you use the path straight to the ruby interpreter, and not 

Very interesting! When I change /usr/bin/env ruby to /usr/bin/ruby 
(which is where the binary is), I get:

: bad interpreter: No such file or directory

-- 
Posted via  http://www.**--****.com/ 



Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't

Postby Michael Gorsuch » Sat, 11 Mar 2006 06:07:57 GMT

wtf?

There isn't any whitespace or blank lines before:

#!/usr/bin/ruby

is there?






Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't

Postby rmagick@gmail.com » Sat, 11 Mar 2006 06:13:27 GMT

Whenever I get weird messages like this it always turns out to be a
problem with line endings. By any chance did you last save the file on
a Windows system?


Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't

Postby Nathan Olberding » Sat, 11 Mar 2006 06:14:42 GMT



I'm glad we're on the same page. :-) Now I don't feel so alone!


nathan@vm1:~/public_html$ head -1 myscript.rb
#!/usr/bin/ruby
nathan@vm1:~/public_html$

Nada.

-- 
Posted via  http://www.**--****.com/ 



Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't

Postby Jonathan Hudson » Sat, 11 Mar 2006 06:17:20 GMT




Your script has been on a Windows box or otherwise polluted with a \r
(Carriage return) after ruby?

The kernel can't find /usr/bin/ruby\r

-jonathan

Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't

Postby Anthony DeRobertis » Sat, 11 Mar 2006 06:21:03 GMT




Windows-style line endings?






Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't

Postby Nathan Olberding » Sat, 11 Mar 2006 06:29:45 GMT

> Your script has been on a Windows box or otherwise polluted with a \r

That's it, that's the one. I had this problem with another script the 
other day. It "went away" after I did a whole bunch of stuff. This 
must've been it.

2006, and we're still dealing with line endings :-)

How do I convert it?

-- 
Posted via  http://www.**--****.com/ 



Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't

Postby Mike » Sat, 11 Mar 2006 06:33:03 GMT



Try dos2unix

-M

-- 
Posted via  http://www.**--****.com/ 



Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't

Postby Nathan Olberding » Sat, 11 Mar 2006 06:36:58 GMT

I saved it using nano and it's working now.

Thanks, all!

-- 
Posted via  http://www.**--****.com/ 



Similar Threads:

1."myscript.rb " - there's a blank in my name!

2.Piping to windows command line .rb file doesn't work

If I do this:

	home> type cat.rb

I get this output:

	print $stdin.readlines

If I do this:

	home> type cat.rb | ruby -e "print $stdin.readlines"

I get this output (NOTE, it's the same):

	print $stdin.readlines

If I type this command (.rb has been associated to ruby.exe on Win2K):

	home> type cat.rb | cat.rb

I get this output:

	cat.rb:1:in `readlines': Bad file descriptor (Errno::EBADF)
        from cat.rb:1

Any ideas why this doesn't work?

Drew

3."ruby script.rb" versus "xterm -e ruby script.rb"

4.require doesn't load non-rb files

5.smtp.rb,v 1.69 doesn't accept VERP style addressing

> Impossible.
> Please edit your protocol.rb directly.
> 
> Regards,
> Minero Aoki

Hi Minero,

I upgraded my FreeBSD machine to 1.8 and now I am getting this:

/usr/local/lib/ruby/1.8/net/smtp.rb:619:in `check_response': 501 Bad 
address syntax (Net::SMTPSyntaxError)


Locally I have: smtp.rb,v 1.64
and in production I have: smtp.rb,v 1.69

So it looks like that was a change between 1.64 and 1.69 that flags VERP 
addressing as invalid.

culley




6. protocol.rb (1.6) doesn't like VERP style addressing

7. rdoc for date.rb doesn't distinguish instance methods

8. Package, a future replacement for setup.rb and mkmf.rb



Return to ruby

 

Who is online

Users browsing this forum: No registered users and 53 guest