Reputation: 233
I have trouble installing devisephp for laravel. I am working on the latest version of homestead with php7. when i do composer update i get the following error.
Problem 1
- Installation request for devisephp/cms 1.4.* -> satisfiable by devisephp/cms[1.4.0].
- devisephp/cms 1.4.0 requires ext-imagick * -> the requested PHP extension imagick is missing from your system.
After having this message i installed imagick on my homestead environment added the extension to php.ini in cli and fpm and checked in homestead if imagick is working with a test file. Everything was working perfectly but on running composer update i still get the same error message from above. Does anyone have a clue what the problem can be.
The stange thing is that is kan git clone devisephp its bootstrap version completely working including image handling but when i add another package to laravel i again get the above message.
Upvotes: 15
Views: 44054
Reputation: 51
my solution with PHP8.3 and imagemagick
brew reinstall php
brew reinstall pkg-config
brew reinstall imagemagick
sudo pecl uninstall imagick (in this case sudo was the solution)
pecl install imagick
#PHP8.3
Upvotes: 3
Reputation: 3166
In case you are using Mac, here are the steps:
Install Image Magick dependency.
brew install pkg-config imagemagick
Compile Imagick PHP extension with pecl
pecl install imagick
Verify the installation.
php -m | grep -i magic
You will see imagick
.
Upvotes: 2
Reputation: 730
With the config.platform
key in composer.js you can fake dependencies like php versions or extensions (you can't use an asterisk for the extension version, though!)
https://getcomposer.org/doc/06-config.md#platform
As a bonus, you can polyfill ext-imagick with this library: https://github.com/calcinai/php-imagick. it's not complete and relies on the command line ImageMagick. So far it works for me.
{
"require": {
"calcinai/php-imagick": "dev-master"
},
"config": {
"platform":{
"ext-imagick": "3.4.4"
}
}
}
Upvotes: 0
Reputation: 431
Please follow these steps
Upvotes: 17
Reputation: 131
Try adding:
"ext-imagick": "*",
to your require block in your composer.json like so:
"license": "MIT",
"require": {
"ext-imagick": "*",
....
}
and run composer update
Upvotes: 2
Reputation: 2309
if you really can't install or don't want that extension to be validated you may skip it by supplying the
--ignore-platform-reqs
flag to your composer command
Upvotes: 25