<p>The original composer file that caused the error above looked like this:</p>

<pre><code>{  "name": "craftcms/craft",
"description": "Craft CMS",
"keywords": [
"craft",
"cms",
"craftcms",
"project"
],
"license": "MIT",
"homepage": "https://craftcms.com/",
"type": "project",
"support": {
"email": "support@craftcms.com",
"issues": "https://github.com/craftcms/cms/issues",
"forum": "https://craftcms.stackexchange.com/",
"source": "https://github.com/craftcms/cms",
"docs": "https://craftcms.com/docs",
"rss": "https://craftcms.com/changelog.rss"
},
"require": {
"craftcms/cms": "3.0.13.1",
"vlucas/phpdotenv": "v2.4.0",
"craftcms/ckeditor": "1.0.0-beta.2",
"craftcms/redactor": "2.1.5",
"cebe/markdown": "1.1.2",
"composer/ca-bundle": "1.1.1",
"composer/composer": "1.6.3",
"composer/semver": "1.4.2",
"composer/spdx-licenses": "1.3.0",
"craftcms/oauth2-craftid": "1.0.0.1",
"craftcms/plugin-installer": "1.5.2",
"craftcms/server-check": "1.1.1",
"creocoder/yii2-nested-sets": "0.9.0",
"danielstjules/stringy": "3.1.0",
"doctrine/lexer": "v1.0.1",
"egulias/email-validator": "2.1.4",
"elvanto/litemoji": "1.3.1",
"enshrined/svg-sanitize": "0.8.2",
"ezyang/htmlpurifier": "v4.10.0",
"guzzlehttp/guzzle": "6.3.3",
"guzzlehttp/promises": "v1.3.1",
"guzzlehttp/psr7": "1.4.2",
"justinrainbow/json-schema": "5.2.7",
"league/flysystem": "1.0.44",
"league/oauth2-client": "2.2.1",
"mikehaertl/php-shellcommand": "1.2.5",
"paragonie/random_compat": "v2.0.12",
"pixelandtonic/imagine": "v0.7.1.3",
"psr/http-message": "1.0.1",
"psr/log": "1.0.2",
"seld/cli-prompt": "1.0.3",
"seld/jsonlint": "1.7.1",
"seld/phar-utils": "1.0.1",
"swiftmailer/swiftmailer": "v6.0.2",
"symfony/console": "v3.3.6",
"symfony/debug": "v3.3.6",
"symfony/filesystem": "v3.3.6",
"symfony/finder": "v3.3.6",
"symfony/polyfill-mbstring": "v1.8.0",
"symfony/process": "v3.3.6",
"twig/twig": "v2.4.8",
"yiisoft/yii2": "2.0.15.1",
"yiisoft/yii2-bootstrap": "2.0.8",
"yiisoft/yii2-composer": "2.0.6",
"yiisoft/yii2-debug": "2.0.13",
"yiisoft/yii2-queue": "2.0.2",
"yiisoft/yii2-swiftmailer": "2.1.1",
"zendframework/zend-escaper": "2.6.0",
"zendframework/zend-feed": "2.8.0",
"zendframework/zend-stdlib": "3.2.0",
"solspace/craft3-freeform": "2.2.1"
},
"autoload": {
"psr-4": {
  "modules\\": "modules/"
}
},
"config": {
"optimize-autoloader": true,
"platform": {
"php": "7.0"
}
},
"scripts": {
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@composer dump-autoload -o",
"@php craft setup/welcome"
]
}
}
</code></pre>

<p>So I removed "enshrined/svg-sanitize": "0.8.2", from the list in the compser file, and ran the update. The next error was given for Twig. So I deleted ""twig/twig": "v2.4.8" from the file, and ran the update again. This time it was successful, and the composer file now looks like this:</p>

<pre><code>{
"name": "craftcms/craft",
"description": "Craft CMS",
"keywords": [
"craft",
"cms",
"craftcms",
"project"
],
"license": "MIT",
"homepage": "https://craftcms.com/",
"type": "project",
"support": {
"email": "support@craftcms.com",
"issues": "https://github.com/craftcms/cms/issues",
"forum": "https://craftcms.stackexchange.com/",
"source": "https://github.com/craftcms/cms",
"docs": "https://craftcms.com/docs",
"rss": "https://craftcms.com/changelog.rss"
},
"require": {
"craftcms/cms": "3.0.20",
"vlucas/phpdotenv": "^2.4.0",
"craftcms/redactor": "2.1.5"
},
"autoload": {
"psr-4": {
"modules\\": "modules/"
}
},
"config": {
"optimize-autoloader": true,
"platform": {
"php": "7.0"
}
},
"scripts": {
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@composer dump-autoload -o",
"@php craft setup/welcome"
]
}
}
</code></pre>

<p>So the update seems to remove a lot of the required references in the composer file. I tried doing this on a backup install first before doing the same on the live install.</p>

CC BY-SA 4.0
2018-08-23T14:06:15.040Z
Which is the same result as  Robin Schambach says above. Only Craft, vlucas/phpdotenv and the plugin, ie redactor, is needed in the composer file.
Andrew
CC BY-SA 4.0
2018-08-23T14:35:46.097Z
Andrew, does this delete all your plugins as well? Or do you add them back in and do composer update again?
JMKelley
CC BY-SA 4.0
2018-08-23T15:10:28.593Z
No it doesn't delete the plugins. I imagine that the 'required' list in the json file is a list of required assets that supports the update. For some reason items get added to the list that aren't actually required. If in doubt I would try a backup version first. Hope that helps.
Andrew
CC BY-SA 4.0
2018-08-25T11:30:29.367Z
Doing the following removed all of my installed plugins also.
JMKelley
CC BY-SA 4.0
2018-08-23T14:01:27.977Z
2018-08-23T15:12:30.077Z
2018-08-23T15:12:30.077Z
Andrew
<p>When trying to update CraftCMS I'm getting the following errors:</p>

<pre><code>Error: An error occurred

Output: Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Installation request for craftcms/cms 3.0.21 -&gt; satisfiable by craftcms/cms[3.0.21].
- craftcms/cms 3.0.21 requires enshrined/svg-sanitize ~0.9.0 -&gt; satisfiable by enshrined/svg-sanitize[0.9.0] but these conflict with your requirements or minimum-stability.
Problem 2
- craftcms/ckeditor 1.0.0-beta.2 requires craftcms/cms ^3.0.0-RC1 -&gt; satisfiable by craftcms/cms[3.0.21].
- craftcms/ckeditor 1.0.0-beta.2 requires craftcms/cms ^3.0.0-RC1 -&gt; satisfiable by craftcms/cms[3.0.21].
- craftcms/cms 3.0.21 requires enshrined/svg-sanitize ~0.9.0 -&gt; satisfiable by enshrined/svg-sanitize[0.9.0] but these conflict with your requirements or minimum-stability.
- Installation request for craftcms/ckeditor 1.0.0-beta.2 -&gt; satisfiable by craftcms/ckeditor[1.0.0-beta.2].

Running update with --no-dev does not mean require-dev is ignored, it just means the packages will not be installed. If dev requirements are blocking the update you have to resolve those problems.
</code></pre>

<p>The problem is, the following is all OK:</p>

<ul>
<li>composer update comes back with "Nothing to Install"</li>
</ul>

CC BY-SA 4.0
2018-08-22T12:57:41.253Z
@RobinSchambach So remove every package except the plugins I have installed at this moment?
JMKelley
CC BY-SA 4.0
2018-08-22T13:13:02.073Z
Yes. You only need vlucas, craftcms + the plugins
Robin Schambach
CC BY-SA 4.0
2018-08-22T13:54:12.780Z
But this above isn't the problem though? It seems to be throwing errors for CKeditor and CraftCMS?
JMKelley
CC BY-SA 4.0
2018-08-22T15:43:58.737Z
If it's the same problem I had, from the issue linked to above, I removed the reference in the composer.json file
Andrew
CC BY-SA 4.0
2018-08-23T08:52:44.387Z
@Andrew Can you write an answer to the question on what your composer looked like after you removed the required includes?
JMKelley
CC BY-SA 4.0
2018-08-23T14:04:22.373Z
Sure, AFAIK it's enshrined/svg-sanitize ~0.9.0 that causes the problem not CKeditor or CraftCMS
Andrew
<craft3><updates><composer>
Unable to Update Craft CMS & Plugins
# Unable to Update Craft CMS & Plugins

(Asked by: username_0 on 2018-08-21)

When trying to update CraftCMS I'm getting the following errors:
Error: An error occurred

Output: Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Installation request for craftcms/cms 3.0.21 -> satisfiable by craftcms/cms[3.0.21].
- craftcms/cms 3.0.21 requires enshrined/svg-sanitize ~0.9.0 -> satisfiable by enshrined/svg-sanitize[0.9.0] but these conflict with your requirements or minimum-stability.
Problem 2
- craftcms/ckeditor 1.0.0-beta.2 requires craftcms/cms ^3.0.0-RC1 -> satisfiable by craftcms/cms[3.0.21].
- craftcms/ckeditor 1.0.0-beta.2 requires craftcms/cms ^3.0.0-RC1 -> satisfiable by craftcms/cms[3.0.21].
- craftcms/cms 3.0.21 requires enshrined/svg-sanitize ~0.9.0 -> satisfiable by enshrined/svg-sanitize[0.9.0] but these conflict with your requirements or minimum-stability.
- Installation request for craftcms/ckeditor 1.0.0-beta.2 -> satisfiable by craftcms/ckeditor[1.0.0-beta.2].

Running update with --no-dev does not mean require-dev is ignored, it just means the packages will not be installed. If dev requirements are blocking the update you have to resolve those problems.

The problem is, the following is all OK:

composer update comes back with "Nothing to Install"

**Tags:** craft3, updates, composer

> **Comments:**
> **username_0**: @RobinSchambach So remove every package except the plugins I have installed at this moment?  
> **username_1**: Yes. You only need vlucas, craftcms + the plugins  
> **username_0**: But this above isn't the problem though? It seems to be throwing errors for CKeditor and CraftCMS?  
> **username_2**: If it's the same problem I had, from the issue linked to above, I removed the reference in the composer.json file  
> **username_0**: @username_2 Can you write an answer to the question on what your composer looked like after you removed the required includes?  
> **username_2**: Sure, AFAIK it's enshrined/svg-sanitize ~0.9.0 that causes the problem not CKeditor or CraftCMS  

---

## 1 answers

### Answer by username_2 on 2018-08-23. Score: 1 | Accepted answer

The original composer file that caused the error above looked like this:
{  "name": "craftcms/craft",
"description": "Craft CMS",
"keywords": [
"craft",
"cms",
"craftcms",
"project"
],
"license": "MIT",
"homepage": "https://craftcms.com/",
"type": "project",
"support": {
"email": "support@craftcms.com",
"issues": "https://github.com/craftcms/cms/issues",
"forum": "https://craftcms.stackexchange.com/",
"source": "https://github.com/craftcms/cms",
"docs": "https://craftcms.com/docs",
"rss": "https://craftcms.com/changelog.rss"
},
"require": {
"craftcms/cms": "3.0.13.1",
"vlucas/phpdotenv": "v2.4.0",
"craftcms/ckeditor": "1.0.0-beta.2",
"craftcms/redactor": "2.1.5",
"cebe/markdown": "1.1.2",
"composer/ca-bundle": "1.1.1",
"composer/composer": "1.6.3",
"composer/semver": "1.4.2",
"composer/spdx-licenses": "1.3.0",
"craftcms/oauth2-craftid": "1.0.0.1",
"craftcms/plugin-installer": "1.5.2",
"craftcms/server-check": "1.1.1",
"creocoder/yii2-nested-sets": "0.9.0",
"danielstjules/stringy": "3.1.0",
"doctrine/lexer": "v1.0.1",
"egulias/email-validator": "2.1.4",
"elvanto/litemoji": "1.3.1",
"enshrined/svg-sanitize": "0.8.2",
"ezyang/htmlpurifier": "v4.10.0",
"guzzlehttp/guzzle": "6.3.3",
"guzzlehttp/promises": "v1.3.1",
"guzzlehttp/psr7": "1.4.2",
"justinrainbow/json-schema": "5.2.7",
"league/flysystem": "1.0.44",
"league/oauth2-client": "2.2.1",
"mikehaertl/php-shellcommand": "1.2.5",
"paragonie/random_compat": "v2.0.12",
"pixelandtonic/imagine": "v0.7.1.3",
"psr/http-message": "1.0.1",
"psr/log": "1.0.2",
"seld/cli-prompt": "1.0.3",
"seld/jsonlint": "1.7.1",
"seld/phar-utils": "1.0.1",
"swiftmailer/swiftmailer": "v6.0.2",
"symfony/console": "v3.3.6",
"symfony/debug": "v3.3.6",
"symfony/filesystem": "v3.3.6",
"symfony/finder": "v3.3.6",
"symfony/polyfill-mbstring": "v1.8.0",
"symfony/process": "v3.3.6",
"twig/twig": "v2.4.8",
"yiisoft/yii2": "2.0.15.1",
"yiisoft/yii2-bootstrap": "2.0.8",
"yiisoft/yii2-composer": "2.0.6",
"yiisoft/yii2-debug": "2.0.13",
"yiisoft/yii2-queue": "2.0.2",
"yiisoft/yii2-swiftmailer": "2.1.1",
"zendframework/zend-escaper": "2.6.0",
"zendframework/zend-feed": "2.8.0",
"zendframework/zend-stdlib": "3.2.0",
"solspace/craft3-freeform": "2.2.1"
},
"autoload": {
"psr-4": {
  "modules\\": "modules/"
}
},
"config": {
"optimize-autoloader": true,
"platform": {
"php": "7.0"
}
},
"scripts": {
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@composer dump-autoload -o",
"@php craft setup/welcome"
]
}
}

So I removed "enshrined/svg-sanitize": "0.8.2", from the list in the compser file, and ran the update. The next error was given for Twig. So I deleted ""twig/twig": "v2.4.8" from the file, and ran the update again. This time it was successful, and the composer file now looks like this:
{
"name": "craftcms/craft",
"description": "Craft CMS",
"keywords": [
"craft",
"cms",
"craftcms",
"project"
],
"license": "MIT",
"homepage": "https://craftcms.com/",
"type": "project",
"support": {
"email": "support@craftcms.com",
"issues": "https://github.com/craftcms/cms/issues",
"forum": "https://craftcms.stackexchange.com/",
"source": "https://github.com/craftcms/cms",
"docs": "https://craftcms.com/docs",
"rss": "https://craftcms.com/changelog.rss"
},
"require": {
"craftcms/cms": "3.0.20",
"vlucas/phpdotenv": "^2.4.0",
"craftcms/redactor": "2.1.5"
},
"autoload": {
"psr-4": {
"modules\\": "modules/"
}
},
"config": {
"optimize-autoloader": true,
"platform": {
"php": "7.0"
}
},
"scripts": {
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@composer dump-autoload -o",
"@php craft setup/welcome"
]
}
}

So the update seems to remove a lot of the required references in the composer file. I tried doing this on a backup install first before doing the same on the live install.

> **Comments:**
> **username_2**: Which is the same result as  username_1 says above. Only Craft, vlucas/phpdotenv and the plugin, ie redactor, is needed in the composer file.  
> **username_0**: username_2, does this delete all your plugins as well? Or do you add them back in and do composer update again?  
> **username_2**: No it doesn't delete the plugins. I imagine that the 'required' list in the json file is a list of required assets that supports the update. For some reason items get added to the list that aren't actually required. If in doubt I would try a backup version first. Hope that helps.  
> **username_0**: Doing the following removed all of my installed plugins also.  

---

