a pacakge manager helps you to install packages from multiple package managers quickly
pip install -U depot-pm
- check version
depot-pm version
- install packages
depot-pm install [package-file]
By default, depot-pm will find depot.yaml
or depot.json
from current working directory.
if depot-pm could not find these config files at currnet working directory, it will find in upper directory
until it reaches /
.
Check the sample file in source root (depot.yaml)
It should contains at least one section: pacakges
. The packages section is a dictionary which
uses installer name as its key and packages ot be installed as value. (a list). So if you want to
use pip
to install django 1.7
and boto
, you should type:
packages:
pip:
- django==1.7
- boto
So the sample file (depoy.yaml) will produce following commands on OS X (which uses brew
but not yum
):
which python3 1>/dev/null 2>&1 || brew install python3
brew install youtube-dl
pip install taskr boto
gem install cocoapods
npm install -g less
Note that it will check whether python3 exists or not before installing python 3.
and following on CentOS (uses yum
):
sudo yum install -y wget
pip install taskr boto
gem install cocoapods
npm install -g less
The format of package name could be any acceptable form of each installers.
The installers
section defines an installer. Installer configurations has following keys:
Key | Description | Default Value |
---|---|---|
sudo | boolean flag indicating wheather this installer should run with sudo command | False |
os | boolean flag indicating this installer is an OS specific installer which be run before other installers. (non OS specific ones) | False |
multiple | the installer could install multiple packages at ones | True |
syntax | the template to generate command. Use python's string format syntax | {} install {} |
command | the command name of this installer | {INSTALLER_NAME} |
Currenty we have:
Installers | Config |
---|---|
pip | {DEFAULT} |
pip3 | {DEFAULT} |
gem | {DEFAULT} |
npm | {DEFAULT} but syntax is {} install -g {} |
brew | {DEFAULE} but os is changed to true |
yum | {DEFAULE} but os and sudo are changed to true . syntax is {} install -y {} |
Use the issue tracker to contact me 😄
- check package.json, requirements.txt, and other package file support.