xupg-rs is a unified CLI tool for managing and updating versions of PHP, MySQL, Node.js, and more. Whether you use standalone tools or environments like XAMPP, Laragon, or Node.js, xupg-rs helps you stay organized by simplifying version management.
cargo from Crates.io(Requires Rust and Cargo installed on your machine.)
cargo install xupg-rs
Verify the installation:
xupg --version
If you want to build the project from the source:
Clone the repository:
git clone https://github.com/codad5/xupg-rs.git
cd xupg-rs
Build and install the project with Cargo:
cargo install --path .
This will build the binary and place it in your Cargo bin directory (~/.cargo/bin by default).
Verify the installation:
xupg --version
If Cargo’s bin directory isn’t in your PATH, you may need to add it:
export PATH="$HOME/.cargo/bin:$PATH"
Here are some common commands for managing tools using xupg-rs.
xupg list -p
-p, --php: List all available PHP versions.-o, --online: Fetch online versions for download.Example:
xupg list -p -o
This lists online-available PHP versions.
xupg list -p
This lists locally-installed PHP versions.
xupg install -p <version> -pa <path>
-p, --php <version>: Install a specific PHP version.-pa, --path <path>: (Optional) Specify installation path.Example:
xupg install -p 8.1.0
This installs PHP version 8.1.0 to the default path.
xupg xampp php -s <version> -p <path>
-s, --set <version>: Set a specific PHP version for XAMPP.-p, --path [path]: (Optional) Specify the XAMPP path.Example:
xupg xampp php -s 8.0.0 -p c:/zampp/
This sets PHP version 8.0.0 as the default for XAMPP installed at c:/zampp/.
To install PHP 7.4.0 directly into XAMPP’s PHP directory:
xupg xampp php -s 7.4.0
This would install PHP 7.4.0 and set it as the default PHP version for XAMPP.
C:\xampp./opt/lampp.cached: Caches data for improved performance.colored: Adds color to terminal output.dirs-next: Manages directories and paths.fli: A framework for building CLI applications.indicatif: Displays progress bars during installation.reqwest: Handles HTTP requests (e.g., fetching online versions).serde and serde_json: Parse JSON data.tokio: Supports asynchronous operations.zip: Manages compressed files during downloads.git checkout -b feature-branch
git commit -m "Add new feature"
git push origin feature-branch
This project is licensed under the MIT License. See the LICENSE file for more information.
crates.io for community feedback and adoption.With xupg-rs, managing versions across environments becomes straightforward and efficient. Install it today and simplify your workflow! 🚀