Skip to content
mbezjak edited this page Feb 6, 2012 · 10 revisions

Can napalm list versions available for a program?

It can't. You can think of napalm as a simple wrapper around wget. There is no centralized list of available programs. It just executes wget. Therefore it can download and install any available version but it can't enumerate on available versions. Adding centralized metadata file would be the opposite of what it is trying to solve - giving me less boring work to do.

Is there any way to install a program that is already downloaded and extracted in another directory?

No. But you can do what napalm would do after downloading a program. Here is an example of doing just that for grails 1.3.7:

$ mkdir -p ~/.napalm/programs # in case it's not created yet
$ mv grails ~/.napalm/programs/grails-1.3.7
$ ln -s ~/.napalm/programs/grails-1.3.7 ~/.napalm/programs/grails

Then add this to your ~/.bashrc. Note that this is usually generated by napalm in ~/.napalm/grails.sh.

export GRAILS_HOME="$HOME/.napalm/programs/grails"
export PATH="$PATH:$GRAILS_HOME/bin"

Can napalm use different directory for setting up programs?

Yes. It usually uses ~/.napalm/programs but you can configure that location with NAPALM_PROGRAMS_DIR environment variable. For example add this to your ~/.bashrc:

export NAPALM_PROGRAMS_DIR="$HOME/programs"

You can of course use any directory you please for as long as napalm has write permission on it. See configuration section in documentation for more configuration options.

I'm getting bash: napalm: command not found

If you installed napalm by doing:

# assuming napalm has been downloaded/cloned into ~/lib/napalm
# also assumes that $HOME/bin directory exists
$ ln -s "$HOME/lib/napalm/bin/napalm" "$HOME/bin/napalm"

Then your $HOME/bin isn't in your PATH. Try to logout or restart your computer and log back in. Some distributions automatically add $HOME/bin directory to PATH when you login. If that doesn't help then add this to your ~/.bashrc:

export PATH="$PATH:$HOME/bin"

How does it compare to rvm?

It doesn't. It's not a dependency manager. You can think of napalm as a simple wget wrapper. Another way to think of it is that it's an automation tool to (1) download, (2) extract and (3) setup *_HOME and PATH environmental variables. In addition it manages multiple versions of one program. For example, if you have grails 1.3.4 and 1.3.7 installed. You can switch from one version to another with ease.