3 ms·
+1. At a previous job, I spent hours rebuilding a ruby gem where someone had carelessly hard-coded "#!/usr/local/bin/ruby" into all of their executables. Even
by jayferd 14y ago
+1.
At a previous job, I spent hours rebuilding a ruby gem where someone had carelessly hard-coded "#!/usr/local/bin/ruby" into all of their executables.
Even if it looks like it works, don't do it! Stick to "#!/usr/bin/env ruby" for maximum compatibility, please.
- alexchamberlain 14y agoWas this a publicly available gem? Did you pass your feedback upstream?
- jayferd 14y agoIt was an obsolete gem that our obsolete code still depended on. There's reasons I don't work for that company anymore :)
- thwest 14y agoComing from a c and python perspective, I'm amazed that you even can specify which ruby to run it with. Either its a compiled binary, or you call the interpreter with the code object as an argument. What is the design impetus for mixing scripting and executable styles this way?
- jayferd 14y agoShebangs (#!) have been around for quite a long time. It's actually really handy to be able to write a script that you can execute as a command. See https://en.wikipedia.org/wiki/Shebang_(Unix) https://en.wikipedia.org/wiki/Shebang_(Unix)
- masklinn 14y ago> Coming from a c and python perspective, I'm amazed that you even can specify which ruby to run it with. Erm... you can do the exact same thing in Python, you know...