Introduction
Eiipm is a fast and eligant package manager made in rust for Ewwii. Eiipm uses the package metadata from the Ewwii-sh/eii-manifests repository where the manifests of packages are stored.
Installation
You can install eiipm using the same methods we discussed of in Ewwii:
1. From source
git clone https://github.com/Ewwii-sh/eiipm
cd eiipm
cargo build --release
This will generate the eiipm
binary in target/release
.
2. Using Cargo
cargo install --git https://github.com/Ewwii-sh/eiipm
After installation, verify it works:
eiipm --version
Adding eiipm to path
This is a very important step which people are likely to miss. By default, eiipm installs binaries to ~/.eiipm/bin
directory. But your shell doesn't know about it yet.
So, when you run something like bin-you-installed
after installing a binary from eiipm, your shell will go like "Oh, let me check in all the known areas. Nope, bin-you-installed
is not installed..."
So, you should add export PATH="$HOME/.eiipm/bin:$PATH"
to your shell's configuration file.
Here is an example on how to do it:
# Replace ~/.zshrc with your shell's configuration file.
# For example, if you use bash, then it would be ~/.bashrc
echo 'export PATH="$HOME/.eiipm/bin:$PATH"' >> ~/.zshrc
I use zsh, so I added the line export PATH="$HOME/.eiipm/bin:$PATH"
in ~/.zshrc
but if you use something else, you should replace the ~/.zshrc
with your own shell's confiuration file.
For example, if you use bash, add that line in ~/.bashrc
.
NOTE: If you dont want to use echo to add it, then you can manually edit your configuration file and add the line
export PATH="$HOME/.eiipm/bin:$PATH"
in there.
Commands
Eiipm offers many commands which users can use to manage ewwii and its packages.
Overview
Here is a simple overview before we get started.
Command | Aliases | Flags / Options |
---|---|---|
install <PACKAGE> | i | --debug |
uninstall <PACKAGE> | rm | --debug |
update [PACKAGE] | up | --debug |
list | l | -v , -t , -q <NAME> , --debug |
help | None | None |
-V, --version | None | None |
Flags for list
:
-v, --verbose
: verbose output-t, --total-count
: output just total package count-q, --query <NAME>
: query a package (works with--verbose
)--debug
: debug logs
Install
Command
Install a package
eiipm install <PACKAGE>
# or shorter:
eiipm i <PACKAGE>
Description
Downloads, builds (if needed), and installs the given package.
Options
--debug: Show debug logs.
Examples
eiipm install statictranspl
eiipm i ewwii
Uninstall
Command
Uninstall a package
eiipm uninstall <PACKAGE>
# or shorter:
eiipm rm <PACKAGE>
Description
Removes the package and its tracked files from your system.
Options
--debug: Show debug logs.
Examples
eiipm rm statictranspl
Update
Command
Update a package or all packages
eiipm update [PACKAGE]
# or shorter:
eiipm up [PACKAGE]
Description
- If PACKAGE is given, then it updates that package.
- If no package is given, then it updates all installed packages.
Options
--debug: Show debug logs.
Examples
eiipm up # update all
eiipm up statictranspl # update just one package
Check Updates
Command
Check for updates in a package or all packages
eiipm check-update [PACKAGE]
# or shorter:
eiipm cu [PACKAGE]
Description
- If PACKAGE is given, then it checks for updates in that package.
- If no package is given, then it checks for updates in all installed packages.
Options
--debug: Show debug logs.
Examples
eiipm cu # check all
eiipm check-updates statictranspl # check just one package
List
Command
List installed packages
eiipm list [OPTIONS]
# or shorter:
eiipm l [OPTIONS]
Description
Shows installed packages. Can display just names, detailed info, total count, or a specific package.
Options
- -v, --verbose: Show detailed info for each package.
- -t, --total-count: Show only the total number of installed packages.
- -q, --query <NAME>: Show info for a single package (works with --verbose as well).
- --debug: Show debug logs.
Examples
eiipm l
eiipm l --verbose
eiipm l --total-count
eiipm l --query statictranspl
eiipm l -q statictranspl -v
Clear Cache
Command
Clear package cache with confirmation.
eiipm clear-cache [PACKAGE]
# or shorter:
eiipm cc [PACKAGE]
Description
- If PACKAGE is given, then it clears the cache of that package with confirmation.
- If no package is given, then it clears cache of all installed packages with confirmation.
Options
--force: Bypass confirmation. --debug: Show debug logs.
Examples
eiipm cc # clear all
eiipm clear-cache statictranspl # clear just one package cache
eiipm cc --force # bypasses confirmation
Tips & Tricks
Here are some tips and tricks which you can use to make your experience with eiipm better.
Confirm all confirmation requests
As you may know, eiipm sometimes require user confirmation to perform certain tasks. One of the examples where eiipm asks for confirmation is in the update task when it cant resolve merge.
You can pipe the yes
command to answer "y" to all eiipm commands.
Example:
yes | eiipm update
Publishing Your Package
Created a package for Ewwii and want it to be easily installable via eiipm? That’s fantastic! By publishing your package to eii-manifests, you make it instantly accessible to the entire Ewwii community, letting users install it with a single command.
Eiipm pulls all package metadata directly from eii-manifests, so the first step is to register your package there. This ensures that your package is correctly tracked, built, and installed for everyone. Once registered, users can seamlessly download, build (if necessary), and use your package without worrying about paths, dependencies, or manual setup.
Check out the Adding Your Package to Manifests guide for a detailed, step-by-step walkthrough. Following the guide will help you structure your package correctly, define its metadata, and make sure it installs smoothly for all users.
Publishing isn’t just about sharing code. It’s about contributing to a growing ecosystem. So take the leap, add your package, and become a part of the Ewwii community!
Examples
Installing ewwii binary directly:
# installing
eiipm install ewwii
# update
eiipm update ewwii
# uninstall
eiipm uninstall ewwii
Installing statictranspl binary:
# installing statictranspl
eiipm i statictranspl
# one year later
eiipm up statictranspl # update statictranspl to latest version
# five years later
eiipm rm statictranspl # uninstall statictranspl