How to I launch a ruby script from the command line by just its name?
Solution 1
Associate the ".rb" file extension with the ruby interpreter. On Windows XP, one way to do this is to select "Tools|Folder options" in the file explorer, and to setup the association in the "File types" tab.
Another way would be to enter the following on the commandline which creates this file association for you:
assoc .rb=RubyScript
ftype RubyScript=ruby.exe %1 %*
Solution 2
Read the bottom part of Wikipedia Ruby.
Windows
If you install the native Windows version of Ruby using the Ruby One-Click Installer, then the installer has setup Windows to automatically recognize your Ruby scripts as executables. Just type the name of the script to run it.
$ hello-world.rb
Hello world
If this does not work, or if you installed Ruby in some other way, follow these steps.
1. Log in as an administrator.
2. Run the standard Windows "Command Prompt", cmd.
3. At the command prompt (i.e. shell prompt), run the following Windows commands. When you run ftype, change the command-line arguments to correctly point to where you installed the ruby.exe executable on your computer.
$ assoc .rb=RubyScript
.rb=RubyScript
$ ftype RubyScript="c:\ruby\bin\ruby.exe" "%1" %*
RubyScript="c:\ruby\bin\ruby.exe" "%1" %*
For more help with these commands, run "help assoc" and "help ftype".
Solution 3
None of the command line solutions worked for me on Windows 10. I've previously used the Windows GUI to open .rb files using Notepad++. When I run
script.rb
in the command line, it just opens Notepad++ with the .rb file (even after the command line fixes).
What solved the issue for me was
- Right click a .rb file
- Click "Open With"
- Click "Choose another app"
- Click "More apps"
- Click "Look for another app on this PC"
- Open the ruby.exe interpreter from my ruby installation.
Related videos on Youtube
Comments
-
izb almost 2 years
On windows, I can run my ruby script like this:
> ruby myscript.rb
but I want to set things up so that I can just do this instead?..
> myscript.rb
How do I do this? I know it's possible because I've recently moved from one PC that had this set up to a new PC that doesn't (yet).
-
theIV over 14 yearsIf this works, I'd listen to him over me as it sounds like he knows what he's talking about :)
-
izb over 14 yearsDamn, that was obvious. (Slaps own face)
-
lyonsinbeta about 12 yearsA little copy/paste wouldn't have killed you, but this is exactly what I was looking for. Thanks. ;-)
-
staafl almost 11 yearsThis worked for me, after running the commands as administrator. Thanks!