Skip to content

Instantly share code, notes, and snippets.

@aredridel
Created April 20, 2013 21:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aredridel/5427526 to your computer and use it in GitHub Desktop.
Save aredridel/5427526 to your computer and use it in GitHub Desktop.
conversation on dependencies
17:17 judofyr: hey folks
17:17 judofyr: what's up?
17:17 Aria: Not too much.
17:17 Aria: Grumbling about managing ruby dependencies with RPM.
17:17 judofyr: RPM?
17:18 Aria: It's become so damn hard. So much versioning hell out there.
17:18 judofyr: why would you do that?
17:18 judofyr: bundler it up
17:18 Aria: I'm the OS integrator. We're trying to package apps out there for installation.
17:19 judofyr: hm
17:22 arubin has joined (~arubin@99-114-192-172.lightspeed.cicril.sbcglobal.net)
17:22 judofyr: I guess it can be tricky these days
17:22 Aria: Yeah. It's really a pain.
17:22 judofyr: Aria: can't you vendor gems in the application package?
17:23 Aria: Sure, but it means modifying the upstream app. And inventing a whole new place to install stuff per-app.
17:23 mbj has joined (~mbj@p5DC06DB4.dip0.t-ipconnect.de)
17:23 Aria: It makes ruby feel alien on an otherwise well-integrated system.
17:24 MartynKeigher has left IRC (Excess Flood)
17:24 kennyvb_ has left IRC (Quit: ZNC - http://znc.in)
17:26 kennyvb has joined (znc@83.221.134.170)
17:26 judofyr: Aria: I have no idea how to help you. the Ruby community have sort-of just decided that it's possible to install multiple versions of the same gems,
17:26 Aria: Yeah.
17:26 Aria: It's not any specific thing that's a problem, it's just that all together, it's really frustrating.
17:27 judofyr wonders how Node.js is handled in the same system
17:27 judofyr: I would imagine you have the same problems there
17:28 Aria: Similar, but it was designed that way from the ground up.
17:28 Aria: So some of the nasty edge cases are shaved off.
17:28 judofyr: in Node.js or the RPM/OS-integration?
17:29 Aria: in node.js / npm.
17:29 Aria: It doesn't install into system locations by default. It doesn't even LOOK in system locations, often.
17:30 Aria: Their load path is relative to the file being executed/loaded, rather than relative to the cwd.
17:30 judofyr: Aria: interesting. what would make it easier in Ruby?
17:30 Aria: That last thing would be the best.
17:30 Aria: Relative load paths.
17:30 Aria: Without dirname hacks.
17:30 judofyr: for dependencies too?
17:30 blacktulip has left IRC (Remote host closed the connection)
17:31 Aria: Dependencies are searched for in a hierarchy of libdirs, starting deep and working upward.
17:32 judofyr: Aria: wouldn't you be able to accomplish the same with a shim-script that sets up the load path?
17:32 s0ber_ has joined (~s0ber@114-36-250-138.dynamic.hinet.net)
17:32 Aria: Yes. That was how node.js did it originally.
17:32 Aria: It's brittle, and surprising, but ... honestly, probably the best way.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment