-
Notifications
You must be signed in to change notification settings - Fork 1
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"
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.
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.