https://github.com/codad5/xupg-rs
(WIP) update you xampp , Paragon modules and with ease
https://github.com/codad5/xupg-rs
Last synced: about 1 month ago
JSON representation
(WIP) update you xampp , Paragon modules and with ease
- Host: GitHub
- URL: https://github.com/codad5/xupg-rs
- Owner: codad5
- Created: 2024-08-09T23:32:14.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-07T16:40:25.000Z (over 1 year ago)
- Last Synced: 2025-02-07T17:29:11.876Z (over 1 year ago)
- Language: Rust
- Homepage: https://codad5.github.io/xupg-rs/
- Size: 107 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
---
# **xupg-rs**
**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.
---
## **Features**
- List installed and available tool versions (locally and online).
- Install specific versions of tools to custom paths.
- Manage PHP versions within XAMPP seamlessly.
- Support for multiple environments: XAMPP, Laragon, Node.js, etc.
---
## **Installation**
### Option 1: Install via `cargo` from Crates.io
(Requires Rust and Cargo installed on your machine.)
```bash
cargo install xupg-rs
```
Verify the installation:
```bash
xupg --version
```
---
### Option 2: Build and Install from Source
If you want to build the project from the source:
1. **Clone the repository:**
```bash
git clone https://github.com/codad5/xupg-rs.git
cd xupg-rs
```
2. **Build and install the project with Cargo:**
```bash
cargo install --path .
```
This will build the binary and place it in your Cargo bin directory (`~/.cargo/bin` by default).
3. **Verify the installation:**
```bash
xupg --version
```
If Cargo’s bin directory isn’t in your `PATH`, you may need to add it:
```bash
export PATH="$HOME/.cargo/bin:$PATH"
```
---
## **Usage**
Here are some common commands for managing tools using `xupg-rs`.
### 1. **List Available Versions**
```bash
xupg list -p
```
- `-p, --php`: List all available PHP versions.
- `-o, --online`: Fetch online versions for download.
Example:
```bash
xupg list -p -o
```
This lists online-available PHP versions.
```bash
xupg list -p
```
This lists locally-installed PHP versions.
---
### 2. **Install a Specific Tool Version**
```bash
xupg install -p -pa
```
- `-p, --php `: Install a specific PHP version.
- `-pa, --path `: (Optional) Specify installation path.
Example:
```bash
xupg install -p 8.1.0
```
This installs PHP version 8.1.0 to the default path.
---
### 3. **Set PHP Version for XAMPP**
```bash
xupg xampp php -s -p
```
- `-s, --set `: Set a specific PHP version for XAMPP.
- `-p, --path [path]`: (Optional) Specify the XAMPP path.
Example:
```bash
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/`.
---
### 4. **Install and Set PHP for XAMPP Automatically**
To install PHP 7.4.0 directly into XAMPP’s PHP directory:
```bash
xupg xampp php -s 7.4.0
```
This would install PHP 7.4.0 and set it as the default PHP version for XAMPP.
- On Windows, the default XAMPP path is `C:\xampp`.
- On Linux, the default XAMPP path is `/opt/lampp`.
---
---
## **Dependencies**
- **`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.
---
## **Contributing**
1. **Fork the repository** on GitHub.
2. **Create a new branch**:
```bash
git checkout -b feature-branch
```
3. **Make your changes and commit**:
```bash
git commit -m "Add new feature"
```
4. **Push your branch**:
```bash
git push origin feature-branch
```
5. **Open a Pull Request** on GitHub.
---
## **License**
This project is licensed under the **MIT License**. See the `LICENSE` file for more information.
---
## **Contact**
- **GitHub**: [codad5](https://github.com/codad5)
- **Portfolio**: [https://codad5.me](https://codad5.me)
- **Twitter**: [@codad5_](https://twitter.com/codad5_)
---
## **Future Improvements**
- Add **Docker support** for managing tools in containers.
- Enhance **Windows support** for Laragon integration.
- Promote the tool on **`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! 🚀
---