Seed is a commonJS package manager created by Charles Jolley, and is intended to be used as part of a new set of build tools for SproutCore.
Seed requires Node to work and is installed from git like this:
git clone git://github.com/seedjs/seed cd seed git submodule update --init ./scripts/install.js export PATH=~/.seeds/bin:$PATH
This provides the
seed command which works a lot like RubyGems:
seed list --remote seed install underscore
I’ve tested it with the current Node in GitHub (6e715b8) and it appears to work pretty well.
Usage in Scripts
To use Seed, scripts must load
seed instead of
#!/usr/bin/env seed require('module')
The script that replaces
node sets up an environment that transparently loads modules using
Seed supports pushing packages. You need to create an account first:
seed remote signup seed remote login seed push ./my-package
Seed’s documentation has more information on how to create and manage packages.
Comparison with Kiwi
Kiwi is similar to Seed, but works without a “stub” script:
#!/usr/bin/env node var kiwi = require('kiwi'), sys = require('sys') kiwi.require('module installed with kiwi')
Another interesting difference is
kiwi is built with simple shell scripts, whereas seed.js is a Node-based project (with a minor C-extension). That means
kiwi install node is possible without first installing anything else. Seed is much more like a traditional package manager, although both ultimately do the same things.