Global Universal Project Manager -- Package manager, CLI tool, and scripts for all your projects and your system. Whether you are a developer managing dependencies, or a sysadmin looking for your new toolbelt (bye bash!) you are among friends. Check the Wiki for documentation.
⏱Fast. Written in native code, with real multi-threading. 👓Smart. Memory efficient solution using hard-link, which do not duplicate dependencies across project. 🌍Global. Windows, Mac and Linux compatibility. 🌈Universal. Usable in any kind of project (Ruby, JS, Go, C, Python, etc...) 👗Customizable. Flexible plugin system: make GuPM your own. 👝Future Proof. Let's make this the last PM you will ever need. 🌳Decentralized. You keep control of the sources you tap into. 🐳No dependencies. You don't need anythind else (you don't need NPM to use NPM's repository with GuPM)
📦Packages Manager. Install packages from any repository and manage dependencies in a seamless way. 🖥CLI Manager. Install and use CLI tools in a flexible way without conflicts. 🚏Scripting. GuPM is bundled with GuScript, allowing you to build cross platform scripts for your project. 🐙Packed with features. Manage configs, git hooks, parallel executions, environment variables, CI, and more. 🔥Even more to come! See : Next for the roadmap of feature. You are welcomed to contribute!
Getting started :
- Quick Start
- Getting started with Node
- Getting started with Go
- Create your own repository
- Official GuPM repository
Linux and Mac OS :
$ curl -fsSL https://azukaar.github.io/GuPM/install.sh | bash
In order to simply bootstrap a new project you can run
g bootstrap you can also use
b and add a provider
g b -p npm
This command will set up your project by getting dependencies. Adding a -p or --provider argument allows you to specify what provider to use initially. Please note you do NOT need to install npm / gem / whatever to use their corresponding provider, GuPM implement everything itself.
# reads gupm.json g make # reads package.json g make -p npm
# use default repo [Config in gupm.json] g install mysql g i mysql # use brew g install brew://mysql g install -p brew mysql # use NPM g install npm://react@1 # will save in gupm.json g install -p npm react@1 # will save in package.json
More commands in the wiki
GuPM needs plugins to work with various repos :
# Install provider-go from the official repo g plugin install https://azukaar.github.io/GuPM-official/repo:provider-go
See https://github.com/azukaar/gupm-official for a list of officially suported plugins. See https://github.com/azukaar/GuPM/wiki/how-to-create-a-provider to create your own.
GuPM can be managed using :
g self upgrade
More commands in the wiki
Write GuPM scripts
You can use GuScript to write bash-like files, used for setting up your project, use it, or anything literally. Think of GuScript as a replacement for your bash scripts.
// name_setup.gs var name = input('What is your name') echo('Welcome' + name) saveName(name)
Add this to your