Rip: Ruby's Intelligent Packaging
hellorip.com
hellorip.com
It's not the most simple problem and I was limited during development to my own setup and the setup of a few peers.
I'd love to get it rock solid and take it where it needs to go.
rip isn't just a mix of pip and virtualenv though, it's also got bits of functionality from virtualenvwrapper (manages multiple envs) and buildout (plugins) mixed in there.
There is no way to work with gems in a development format? e.g. straight from version control?
I like Buildout's approach of doing script generation better though, since it allows for multiple working sets of packages within the same environment. And you can manage stuff besides just language-specific packages, such as database installs, config files, etc, etc. Plus you can manage libraries from more than just one language - perfect for those franken-Python-Perl-Ruby projects.
Looks like a big improvement over the rails/gem_dependencies sillyness of embedding a package management tool into a web framework though!
Perhaps we could collaborate to make a language-agnostic package management "standard". We can of course have implementations in our languages of choice, but things like the .rip file format, directory structure, etc could be standardized.
What I like in rubygems is that (1) it works on the 3 major OSes, (2) it compiles code for me, if the stars are aligned in the right way, and (3) there is an open central repository.
Achieving the first 2 out of 3 would rock. 3 could happen later.
I am constantly bitten by this, say, whenever I want to run multiple Ruby/Rails apps on the same machine.
Experiencing "can't activate foo (= 2.0, runtime), already activated foo-1.0" errors is a terrible way to start the work week.
I'd like to hear more about how it resolves dependency conflicts more conveniently than Rubygems though.
I feel your pain. That's where it all began.
Question: How would I use rip to track the latest version of each dependency -- maybe one is a gem and so I want the latest gem on rubyforge, but another is a github repo + branch, and another is an obscure fork on gitorious. Is there a way that Rip can tell if there are newer versions of the libs available?
`latest` or `rip-latest` or some such?
That means every Ruby code written and hosted publicly can be installed locally by Rip?
Now we will need a special search engine just for Ruby :D