Fast and simple PHP version manager written in rust

Overview

[WIP] phpup (PHP-up): Fast and Simple PHP version manager

Fast and simple PHP version manager, written in rust

Features

  • No requirements for system PHP installation
  • [WIP] Cross-platform support (macOS, Linux)
  • [WIP] Automatically version switching with .php-version

Installation

shell setup

bash or zsh

eval $(phpup init)

Usage

Contribution

Inspired

Comments
  • Support fish shell

    Support fish shell

    New Features

    • make the command(init) support fish
    • fix install script for fish
    • add fish completions to the release zip file
    • add how to install to README.md for fish user
    enhancement 
    opened by masan4444 0
  • Add shell completion files to the release zip file

    Add shell completion files to the release zip file

    New release zip file

    phpup-${arch}
    ├── LICENSE
    ├── README.md
    ├── completions
    │   ├── bash
    │   │   └── _phpup
    │   └── zsh
    │       └── _phpup
    └── phpup (binary)
    
    opened by masan4444 0
  • Install: richer progress bar & configure options

    Install: richer progress bar & configure options

    New features

    • [x] A richer install progress bar, etc.
    Installing PHP 7.0.4
    Downloaded https://www.php.net/distributions/php-7.0.4.tar.gz
    Unpacking [=====>                   ] 3.75MiB/17.28MiB (10s) /home/username/.phpup/.downloads-xxxxxx/php-7.0.4.tar.gz
    
    • [x] Configure options
    phpup install 7.0.4 --configure-opts '--some --configure --opts'
    
    PHPUP_CONFIGURE_OPTS="-some --configure --opts" phpup install 7.0.4
    
    enhancement 
    opened by masan4444 0
  • Built-in system version & Auto switching to default version when initializing

    Built-in system version & Auto switching to default version when initializing

    • make MULTISHELL_PATH include 'bin' for the system version
    • a version-file and use option become able to specify the system version
    • wheninit, use the version specified by the alias default or the system version
    • add default subcommand, which is the shortcut for alias default
    opened by masan4444 0
  • Switching via `.php-version` & Automatically switching when `cd`

    Switching via `.php-version` & Automatically switching when `cd`

    New Features

    use

    • use the version specified by a version-file such as .php-version if no version argument is provided
    • recursive searching in a parent directory for a version-file if the argument is specified
    • custom version-file

    install

    • install the version specified by a version-file if no version argument

    init

    • automatically version switching when changing directory
    opened by masan4444 0
  • add alias feature

    add alias feature

    alias

    phpup alias <version> <alias>   
    

    Create a symblic link .phpup/aliases/{alias} to .phpup/versions/php/{version}

    list-local, list-remote

    List versions and alias

    use

    Can specify version via alias

    unalias

    Remove .phpup/aliases/{alias}

    uninstall

    Remove all aliases which link to specified version

    opened by masan4444 0
  • Support installing pre-release PHP versions

    Support installing pre-release PHP versions

    Would be great to be able to install RC versions of PHP - for example, PHP 8.2 RC3 is currently available at the time of writing but can't be installed by phpup: https://www.php.net/archive/2022.php#2022-09-29-3

    enhancement 
    opened by davidcole1340 0
  • Support windows

    Support windows

    init

    • [x] fix shell detecting for win
    • [ ] support PowerShell

    ls-remote, install

    • [ ] use pre-build binary for win

    use, uninstall, alias, and etc...

    • [ ] support windows file system
    enhancement 
    opened by masan4444 0
  • Don't add phpup into PATH when default is system

    Don't add phpup into PATH when default is system

    When using system version as default phpup adds to PATH the tmp dir symlinked to /usr/bin. This is confusing because every binary installed in your system shows as running from phpup path in process managers.

    good first issue 
    opened by jonian 0
  • Arch linux AUR package

    Arch linux AUR package

    Hi @masan4444, I have created an Arch Linux package on AUR. It uses the binaries provided from this repo releases.

    https://aur.archlinux.org/packages/phpup-bin

    good first issue 
    opened by jonian 1
Releases(v0.1.8)
Owner
null
Solidity-Compiler Version Manager

Solidity Compiler Version Manager

Rohit Narurkar 114 Jan 2, 2023
A fast package manager for NodeJS written in Rust.

click A fast package manager for NodeJS written in Rust. How fast? Benchmark of bun vs click clean install: Based on benchmarks done with hyperfine, c

Sam 52 Oct 10, 2023
Novus - A blazingly fast and efficient package manager for windows.

Novus - A blazingly fast and efficient package manager for windows. Why Novus Swift Unlike any other package manager, Novus uses multithreaded downloads

Novus 197 Dec 18, 2022
A shiny new package manager written in rust explicitly for gemlock/linux and it's distributions

Gem A shiny new package manager written in rust explicitly for gemlock/linux and it's distributions. List of content How to setup Systems Ubuntu Arch

Gemlock 1 Feb 22, 2022
A simple clipboard manager for wayland.

Wpilman A simple clipboard manager for wayland. Installation Just compile it yourself or install the AUR package: paru -S wlipman-git # or yay -S wlip

null 3 Jan 13, 2023
A Rust driver for the Arm Generic Interrupt Controller version 3 or 4 (GICv3 and GICv4).

Arm Generic Interrupt Controller driver This crate provides a Rust driver for the Arm Generic Interrupt Controller version 3 or 4 (GICv3 and GICv4). C

Google 7 Apr 17, 2023
A rust-version of NVIDIA BlueField DOCA kit.

Rust-DOCA Rust API wrapper for the NVIDIA DOCA SDK. The NVIDIA DOCA SDK enables developers to rapidly create applications and services on top of NVIDI

null 4 Jun 15, 2023
Totally Speedy Transmute (TST) is a library providing a small, performance oriented, safe version of std::mem::transmute

Totally Speedy Transmute An evil spiritual successor to Totally Safe Transmute What is it? Totally Speedy Transmute (TST) is a library providing a sma

John Schmidt 19 Jun 7, 2022
A transpiler/compiler for CrabRave, a version of BrainFuck with sea-life emojis.

CrabRave Programming Language CrabRave is a fun and unique programming language based on Brainfuck, which utilizes crab and sea-life emojis as its syn

null 23 May 3, 2023
A simple, fast and fully-typed JSPaste API wrapper for Rust

rspaste A simple, fast and fully-typed JSPaste API wrapper for Rust. aidak.tk » Installation Put the desired version of the crate into the dependencie

Aidak 2 May 17, 2022
Cargo - The Rust package manager

Cargo downloads your Rust project’s dependencies and compiles your project.

The Rust Programming Language 9.5k Jan 4, 2023
💡 Use the right package manager by rust

n ?? Use the right package manager by rust ?? Inspired by ni Why ni is nice , but ni is based on Node. it is difficult to collaborate well with node v

SHEIN 3 Jul 24, 2023
A simple and fast FRC autonomous path planner (designed for swerve drive)! (Desktop/Laptop only)

This is a website developed for planning autonomous paths for FRC robots. It is intended to be a simple and fast tool to create autos, which works offline at competitions.

Weaver Goldman 2 Jan 6, 2023
qn (quick note) is a simple, fast and user-friendly way to save notes 🦀⚙️

Quick Note qn Install This is currently for my personal use. I may push breaking changes at any time. If you want to use it, bring down the code and r

Code Smell 3 Jul 15, 2022
basic multiple package manager

baka basic multiple package manager Docs Env baka_root_setting Windows: %USERPROFILE%/.baka/config Linux, Mac: $HOME/.baka/config baka_plugins (Just u

null 8 Dec 29, 2021
Wally is a modern package manager for Roblox projects inspired by Cargo

Wally is a package manager for Roblox inspired by Cargo (Rust) and npm (JavaScript). It brings the familiar, community-oriented world of sharing code from other communities into the Roblox ecosystem.

Uplift Games 194 Jan 3, 2023
SPWN extension manager.

XTND SPWN extension manager. Important Disclaimer As this will allow any module to run as builtins, with little to no limitations, use of XTND may be

Deltara 1 Dec 16, 2021
Plow - The ontology package manager

Plow - Ontology package manager Plow is package management solution for OWL ontologies, with support for specifying dependencies between packages via

Field 33 12 Dec 21, 2022
Wayland clipboard manager that will make you clap 👏

Clapboard - clipboard manager that makes you clap ?? Clapboard is a simple clipboard manager for Wayland, built in Rust. It saves a history of your cl

Yo'av Moshe 18 Jan 28, 2023