Monica: Installation guide for debian stretch conflicts with php7.1 requirements

Created on 5 Sep 2017  路  5Comments  路  Source: monicahq/monica

Seems like monica requires php7.1 however debian stretch supports only php7.0. This should be mentioned in the guide.

composer install --no-interaction --prefer-dist --optimize-autoloader
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for doctrine/annotations v1.5.0 -> satisfiable by doctrine/annotations[v1.5.0].
    - doctrine/annotations v1.5.0 requires php ^7.1 -> your PHP version (7.0.20) does not satisfy that requirement.
  Problem 2

Most helpful comment

I installed it with the composer flag --ignore-platform-reqs which seems to work. I have php 7.0 installed

All 5 comments

A solution is to set php version to
"php": "7.0.*"
in composer.json.

This didn't work for me with the latest master. After the change I got:

 Problem 1
    - Installation request for doctrine/annotations v1.5.0 -> satisfiable by doctrine/annotations[v1.5.0].
    - doctrine/annotations v1.5.0 requires php ^7.1 -> your PHP version (7.0.19) does not satisfy that requirement.
  Problem 2
    - Installation request for doctrine/cache v1.7.0 -> satisfiable by doctrine/cache[v1.7.0].
    - doctrine/cache v1.7.0 requires php ~7.1 -> your PHP version (7.0.19) does not satisfy that requirement.
  Problem 3
    - Installation request for doctrine/collections v1.5.0 -> satisfiable by doctrine/collections[v1.5.0].
    - doctrine/collections v1.5.0 requires php ^7.1 -> your PHP version (7.0.19) does not satisfy that requirement.
  Problem 4
    - Installation request for doctrine/common v2.8.0 -> satisfiable by doctrine/common[v2.8.0].
    - doctrine/common v2.8.0 requires php ~7.1 -> your PHP version (7.0.19) does not satisfy that requirement.
  Problem 5
    - Installation request for doctrine/dbal v2.6.1 -> satisfiable by doctrine/dbal[v2.6.1].
    - doctrine/dbal v2.6.1 requires php ^7.1 -> your PHP version (7.0.19) does not satisfy that requirement.
  Problem 6
    - Installation request for dompdf/dompdf v0.8.0 -> satisfiable by dompdf/dompdf[v0.8.0].
    - dompdf/dompdf v0.8.0 requires ext-gd * -> the requested PHP extension gd is missing from your system.
  Problem 7
    - Installation request for facebook/webdriver 1.4.1 -> satisfiable by facebook/webdriver[1.4.1].
    - facebook/webdriver 1.4.1 requires ext-curl * -> the requested PHP extension curl is missing from your system.
  Problem 8
    - Installation request for sentry/sentry 1.7.1 -> satisfiable by sentry/sentry[1.7.1].
    - sentry/sentry 1.7.1 requires ext-curl * -> the requested PHP extension curl is missing from your system.
  Problem 9
    - Installation request for stripe/stripe-php v5.1.3 -> satisfiable by stripe/stripe-php[v5.1.3].
    - stripe/stripe-php v5.1.3 requires ext-curl * -> the requested PHP extension curl is missing from your system.
  Problem 10
    - Installation request for doctrine/instantiator 1.1.0 -> satisfiable by doctrine/instantiator[1.1.0].
    - doctrine/instantiator 1.1.0 requires php ^7.1 -> your PHP version (7.0.19) does not satisfy that requirement.
  Problem 11
    - dompdf/dompdf v0.8.0 requires ext-gd * -> the requested PHP extension gd is missing from your system.
    - laravel/cashier v7.0.11 requires dompdf/dompdf ^0.8.0 -> satisfiable by dompdf/dompdf[v0.8.0].
    - Installation request for laravel/cashier v7.0.11 -> satisfiable by laravel/cashier[v7.0.11].

I installed PHP 7.1 by first adding the unstable repository:

Add the following to /etc/apt/sources.list.d/debian-unstable.list

deb     http://mirror.steadfast.net/debian/ unstable main contrib non-free
deb-src http://mirror.steadfast.net/debian/ unstable main contrib non-free
deb     http://ftp.us.debian.org/debian/    unstable main contrib non-free
deb-src http://ftp.us.debian.org/debian/    unstable main contrib non-free

Setup PHP7.1

sudo -i # Or append sudo before all below commands
apt-get update
apt-get install php7.1 

cd /usr/local/bin
mv php php7.0 # Move old version of PHP
ln -sfn /usr/bin/php7.1 ./php # Symlink php to point to php7.1
php --version #Ensure this says 7.1.x
apt-get install php7.1-curl php7.1-dom php7.1-zip php7.1-mbstring php7.1-intl php7.1-gd # Install required extensions

Strange enough, after the change I can set it to the old value and it still works. Maybe it's caused by something else? Anyway, the point is: Monica works with the php version 7.0 shipped with stretch.

I installed it with the composer flag --ignore-platform-reqs which seems to work. I have php 7.0 installed

I had the same error.
I've installed PHP7.2 directly. Works well.

Not sure what should be the recommended installation steps.

But I've built my own and did an article on it:
https://freedif.org/monica-organize-your-social-life/

Thanks a lot for this great tool. Looking forward to the Android app ;)

Was this page helpful?
0 / 5 - 0 ratings