# SOLVED: trying to install trellis - dies on "bin/paratest.bat" when composer install

**URL:** https://discourse.roots.io/t/solved-trying-to-install-trellis-dies-on-bin-paratest-bat-when-composer-install/27241
**Category:** trellis
**Tags:** wsl
**Created:** 2024-06-02T12:10:44Z
**Posts:** 9

## Post 1 by @francisco_arenas — 2024-06-02T12:10:44Z

Hi again, i’m trying to do a new website using radicle and when i try to install in wls ubuntu 24.04 gives me this error. this is a fresh installation, only npm, yarn, php 8.3, apache2 and mysql installed

80/135 [================\>-----------] 59% Skipped installation of bin bin/paratest.bat for package brianium/paratest: name conflicts with an existing file

i’ve tried it all

please help!

---

## Post 2 by @ben — 2024-06-02T15:14:08Z

[Ubuntu 24.04 is not yet supported](https://github.com/roots/trellis/pull/1519) since it is not possible to use all of the required PHP extensions at this time

Regardless, [you should provide more context/details when posting on here](https://discourse.roots.io/t/how-to-best-ask-questions-on-this-forum/24582). At what point did you get that failure?

> [@francisco_arenas](#):
>
> i’ve tried it all

Care to elaborate?

---

## Post 3 by @ben — 2024-06-02T15:17:55Z

[Googling your error came up with a solution](https://github.com/pestphp/pest/issues/928#issuecomment-1912739140)

When you say it’s a fresh installation, do you mean a brand new Bedrock/Trellis install with zero modifications made?

---

## Post 4 by @ben — 2024-06-02T15:17:58Z



---

## Post 5 by @francisco_arenas — 2024-06-02T15:46:10Z

Hi Ben, i’ve installed a blank new ubuntu wsl, installed php 8.3, mysql, apache and npm, then downloaded radicle (just noticed my description was wrong, not trellis, but radicle installation) and inside the folder ran composer install … then it died at 59% with the bin/paratest.bat error

previously tried on older versions of ubuntu and debian, all on wsl with no luck. (i really miss my apple days when everything worked with 2 clicks…)

---

## Post 6 by @ben — 2024-06-02T15:54:38Z

> [@francisco_arenas](#):
>
> (just noticed my description was wrong, not trellis, but radicle installation)

:man_facepalming:

Ok, well hopefully the solution that came from searching for your error helps you. Radicle does use Pest, which is the source of your error.

---

## Post 7 by @francisco_arenas — 2024-06-02T22:37:20Z

tested the clearcache solution but ditn’t worked… also after reading about Pest, something is wrong with the installation too, since several packages depends on phpunit. i’m using the latest radicle (1.4)

```
**brianium/paratest v7.4.3 requires phpunit/phpunit (^10.5.9 || ^11.0.3)
pestphp/pest v2.34.7 requires phpunit/phpunit (^10.5.17)
pestphp/pest v2.34.7 conflicts phpunit/phpunit (>10.5.17)
roave/security-advisories 9999999-dev conflicts phpunit/phpunit (>=4.8.19,<4.8.28|>=5.0.10,<5.6.3)
ta-tikoma/phpunit-architecture-test 0.8.4 requires phpunit/phpunit (^10.5.5 || ^11.0.0)**
```

maybe its better to use an older version?

---

## Post 8 by @francisco_arenas — 2024-06-03T14:35:07Z

ended trashing my wsl installation, and did a new one from scratch.  
FINALLY. it worked. this is my whole recipe using ubuntu 22.04. i hope this can help some users that struggle with putting things to work. PS: im not sysop. dont killme if i’m doing something wrong. this is the way it worked for me, i hope someone can perfect this as a recipe for succeeding in making a dev environment with WSL in a safer/decent way.

```
wsl --install --d Ubuntu-22.04

sudo apt update
sudo apt upgrade
sudo apt install apache2
sudo apt install mariadb-server mariadb-client
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
FLUSH PRIVILEGES;
exit;
sudo apt install -y lsb-release gnupg2 ca-certificates apt-transport-https software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2

//composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
composer -v

//need any php plugin?
apt search php- | less
//install plugins
sudo apt install [plugin name]

//install packages 
sudo apt install -y php8.2-<module-name>

//permissions 

sudo chown -R $USER:$USER /var/www
//your domain directory
sudo mkdir /var/www/your_domain
sudo chown -R $USER:$USER /var/www/your_domain
sudo nano /etc/apache2/sites-available/your_domain.conf

/etc/apache2/sites-available/your_domain.conf
<VirtualHost *:80>
    ServerName your_domain
    ServerAlias www.your_domain
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

sudo a2ensite your_domain //adds your site
sudo a2dissite 000-default //removes default

sudo apache2ctl configtest //checks config
sudo systemctl reload apache2 //reload changes

//install node LTS , at the moment the current version is 20.x
curl -sL https://deb.nodesource.com/setup_20.x -o /tmp/nodesource_setup.sh
sudo bash /tmp/nodesource_setup.sh
sudo apt-get install nodejs -y

//yarn
sudo corepack enable

sudo apt-get install php-mysql
sudo apt-get update
sudo apt-get install php8.2-mysql

(sudo a2enmod php8.2 in case of mysqli error)

//in case of cache errors
sudo chmod -R 755 /var/www/html/storage/framework/cache
sudo chown -R www-data:www-data /var/www/html/storage/framework/cache

//if more cache errors, just 777 all the cache xD

//to start-stop the server
- sudo service apache2 stop
- sudo service apache2 start
- sudo service mysql start

//need ip?
curl http://icanhazip.com (returns IP)
```

---

## Post 9 by @Log1x — 2024-06-04T08:19:15Z

id really suggest looking into something like [GitHub - cpriego/valet-linux: A fork of Laravel Valet to work in Linux.](https://github.com/cpriego/valet-linux) for local dev on WSL. rolling the stack on apache from scratch like you are doing can be a bit of a glass house.
