Answers.Body: <p>You've identified the general problem. The easiest path around this issue is to upgrade to the latest of everything all at once. <code>composer update</code> alone will not upgrade to the latest major release, only to the latest releases defined in your composer.json. To make sure you are upgrading to the latest of everything:</p>
  
  <ol>
  <li>Delete your <code>composer.lock</code> file (might not be necessary but I find it helps get around a few potential support scenarios to take this step)</li>
  <li>Review each package in the <code>require</code> array of your composer.json</li>
  <li>Update each package to the latest version release.</li>
  <li>Once all packages are defined with their latest versions, run <code>composer update</code></li>
  </ol>
  
  <p>Regarding version constraints in your composer.json file, you'll probably want to require an explicit version of Craft and us the Caret Version Range for plugins:</p>
  
  <pre><code>{
    ...
    "require": {
      "craftcms/cms": "3.1.23",
      "vlucas/phpdotenv": "^2.4.0",
      "barrelstrength/sprout-forms": "^3.0.0-beta.57",
      "barrelstrength/sprout-email": "^4.0.0-beta.18",
      ...
    }
    ...
  }
  </code></pre>
  
  <p>By updating to the latest versions of everything all at once, you'll ensure that the major releases of supporting modules that may be used by more than one plugin are updated and resolved together.</p>
  
  <p>If you continue to run into issues you may want to try to run remove commands first (i.e. `composer remove barrelstrength/sprout-forms barrelstrength/sprout-email) or remove your entire vendor folder and go through the steps above again.</p>
  
  <p>You should not need to require <code>barrelstrength/sprout-base</code>. Once you get the primary list if required packages in your <code>composer.json</code> file sorted out, the correct dependency will get resolved.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-05-29T10:50:58.477Z
Answers.Text: Thanks Ben... I muddled through somehow but will try to make sure I follow the steps outlined above next time.
Answers.UserDisplayName: Kevin
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-05-29T23:47:51.903Z
Answers.Text: @Kevin The steps above should not always be necessary. But they can be helpful to resolve dependency conflicts if they arise.
Answers.UserDisplayName: Ben Parizek
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-05-28T11:32:27.587Z
Answers.LastActivityDate: 2019-05-28T11:32:27.587Z
Answers.UserDisplayName: Ben Parizek
Answers.Body: <p>Try to change <code>barrelstrength/sprout-email</code> to <code>4.0.0-beta.18</code>, run <code>composer clear-cache</code> then <code>composer update</code> again.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-05-27T12:50:45.913Z
Answers.Text: Tried that – still getting an error 
  `    - Can only install one of: barrelstrength/sprout-base[5.0.0, 4.0.8].
      - barrelstrength/sprout-email 4.0.0-beta.18 requires barrelstrength/sprout-base ^5.0.0 -> satisfiable by barrelstrength/sprout-base[5.0.0].`
Answers.UserDisplayName: Kevin
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-05-27T13:15:08.730Z
Answers.Text: Do you actually have `barrelstrength/sprout-base` in your `composer.json`?
Answers.UserDisplayName: Oli
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-05-27T15:56:55.790Z
Answers.Text: No I didnt - I can require version 4.0.8 of sprout base and then run a composer update. But if I then try to update the plugins from the back end I get an error: 
  
  - Installation request for barrelstrength/sprout-forms 3.0.0-beta.57 -> satisfiable by barrelstrength/sprout-forms[3.0.0-beta.57].
  - barrelstrength/sprout-forms 3.0.0-beta.57 requires barrelstrength/sprout-base ^5.0.0 -> satisfiable by barrelstrength/sprout-base[5.0.0] but these conflict with your requirements or minimum-stability.
Answers.UserDisplayName: Kevin
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-05-27T15:57:01.760Z
Answers.Text: If I try to require sprout-base 5.0.0 from composer I get an error: 
      - barrelstrength/sprout-email 4.0.0-beta.15 requires barrelstrength/sprout-base ^4.0.8 -> satisfiable by barrelstrength/sprout-base[4.0.8, v4.x-dev] but these conflict with your requirements or minimum-stability.
Answers.UserDisplayName: Kevin
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-05-27T12:08:23.013Z
Answers.LastActivityDate: 2019-05-27T12:08:23.013Z
Answers.UserDisplayName: Oli
Body: <p>I cant update my sprout plugins due to a dependency / version issue with sprout base. Ive tried updating via composer - but I think I need to edit my composer file to work around the sprout base dependency issue - not certain of what that edit should be - any help appreciated. </p>
  
  <pre><code>Your requirements could not be resolved to an installable set of packages.
  
  Problem 1
  - barrelstrength/sprout-email 4.0.0-beta.15 requires barrelstrength/sprout-base ^4.0.8 -&gt; satisfiable by barrelstrength/sprout-base[4.0.8].
  - barrelstrength/sprout-email 4.0.0-beta.15 requires barrelstrength/sprout-base ^4.0.8 -&gt; satisfiable by barrelstrength/sprout-base[4.0.8].
  - barrelstrength/sprout-email 4.0.0-beta.15 requires barrelstrength/sprout-base ^4.0.8 -&gt; satisfiable by barrelstrength/sprout-base[4.0.8].
  - Can only install one of: barrelstrength/sprout-base[5.0.0, 4.0.8].
  - Can only install one of: barrelstrength/sprout-base[4.0.8, 5.0.0].
  - Can only install one of: barrelstrength/sprout-base[5.0.0, 4.0.8].
  - barrelstrength/sprout-forms 3.0.0-beta.57 requires barrelstrength/sprout-base ^5.0.0 -&gt; satisfiable by barrelstrength/sprout-base[5.0.0].
  - Installation request for barrelstrength/sprout-forms 3.0.0-beta.57 -&gt; satisfiable by barrelstrength/sprout-forms[3.0.0-beta.57].
  - Installation request for barrelstrength/sprout-email 4.0.0-beta.15 -&gt; satisfiable by barrelstrength/sprout-email[4.0.0-beta.15].
  </code></pre>
  
Tags: <plugin-sproutforms>
Title: Composer issue updating sprout plugins
ThreadText: # Composer issue updating sprout plugins
  
  (Asked by: username_0 on 2019-05-27)
  
  I cant update my sprout plugins due to a dependency / version issue with sprout base. Ive tried updating via composer - but I think I need to edit my composer file to work around the sprout base dependency issue - not certain of what that edit should be - any help appreciated.
  
  ```
  Your requirements could not be resolved to an installable set of packages.
  
  Problem 1
  - barrelstrength/sprout-email 4.0.0-beta.15 requires barrelstrength/sprout-base ^4.0.8 -> satisfiable by barrelstrength/sprout-base[4.0.8].
  - barrelstrength/sprout-email 4.0.0-beta.15 requires barrelstrength/sprout-base ^4.0.8 -> satisfiable by barrelstrength/sprout-base[4.0.8].
  - barrelstrength/sprout-email 4.0.0-beta.15 requires barrelstrength/sprout-base ^4.0.8 -> satisfiable by barrelstrength/sprout-base[4.0.8].
  - Can only install one of: barrelstrength/sprout-base[5.0.0, 4.0.8].
  - Can only install one of: barrelstrength/sprout-base[4.0.8, 5.0.0].
  - Can only install one of: barrelstrength/sprout-base[5.0.0, 4.0.8].
  - barrelstrength/sprout-forms 3.0.0-beta.57 requires barrelstrength/sprout-base ^5.0.0 -> satisfiable by barrelstrength/sprout-base[5.0.0].
  - Installation request for barrelstrength/sprout-forms 3.0.0-beta.57 -> satisfiable by barrelstrength/sprout-forms[3.0.0-beta.57].
  - Installation request for barrelstrength/sprout-email 4.0.0-beta.15 -> satisfiable by barrelstrength/sprout-email[4.0.0-beta.15].
  
  ```
  
  **Tags:** plugin-sproutforms
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2019-05-28. Score: 2 | Accepted answer
  
  You've identified the general problem. The easiest path around this issue is to upgrade to the latest of everything all at once. `composer update` alone will not upgrade to the latest major release, only to the latest releases defined in your composer.json. To make sure you are upgrading to the latest of everything:
  
  1. Delete your `composer.lock` file (might not be necessary but I find it helps get around a few potential support scenarios to take this step)
  2. Review each package in the `require` array of your composer.json
  3. Update each package to the latest version release.
  4. Once all packages are defined with their latest versions, run `composer update`
  
  Regarding version constraints in your composer.json file, you'll probably want to require an explicit version of Craft and us the Caret Version Range for plugins:
  
  ```
  {
    ...
    "require": {
      "craftcms/cms": "3.1.23",
      "vlucas/phpdotenv": "^2.4.0",
      "barrelstrength/sprout-forms": "^3.0.0-beta.57",
      "barrelstrength/sprout-email": "^4.0.0-beta.18",
      ...
    }
    ...
  }
  
  ```
  
  By updating to the latest versions of everything all at once, you'll ensure that the major releases of supporting modules that may be used by more than one plugin are updated and resolved together.
  
  If you continue to run into issues you may want to try to run remove commands first (i.e. `composer remove barrelstrength/sprout-forms barrelstrength/sprout-email) or remove your entire vendor folder and go through the steps above again.
  
  You should not need to require `barrelstrength/sprout-base`. Once you get the primary list if required packages in your `composer.json` file sorted out, the correct dependency will get resolved.
  
  > **Comments:**
  > **username_0**: Thanks Ben... I muddled through somehow but will try to make sure I follow the steps outlined above next time.  
  > **username_1**: @username_0 The steps above should not always be necessary. But they can be helpful to resolve dependency conflicts if they arise.  
  
  ---
  
  ### Answer by username_2 on 2019-05-27. Score: 1
  
  Try to change `barrelstrength/sprout-email` to `4.0.0-beta.18`, run `composer clear-cache` then `composer update` again.
  
  > **Comments:**
  > **username_0**: Tried that – still getting an error  `    - Can only install one of: barrelstrength/sprout-base[5.0.0, 4.0.8].     - barrelstrength/sprout-email 4.0.0-beta.18 requires barrelstrength/sprout-base ^5.0.0 -> satisfiable by barrelstrength/sprout-base[5.0.0].`  
  > **username_2**: Do you actually have `barrelstrength/sprout-base` in your `composer.json`?  
  > **username_0**: No I didnt - I can require version 4.0.8 of sprout base and then run a composer update. But if I then try to update the plugins from the back end I get an error:   - Installation request for barrelstrength/sprout-forms 3.0.0-beta.57 -> satisfiable by barrelstrength/sprout-forms[3.0.0-beta.57]. - barrelstrength/sprout-forms 3.0.0-beta.57 requires barrelstrength/sprout-base ^5.0.0 -> satisfiable by barrelstrength/sprout-base[5.0.0] but these conflict with your requirements or minimum-stability.  
  > **username_0**: If I try to require sprout-base 5.0.0 from composer I get an error:      - barrelstrength/sprout-email 4.0.0-beta.15 requires barrelstrength/sprout-base ^4.0.8 -> satisfiable by barrelstrength/sprout-base[4.0.8, v4.x-dev] but these conflict with your requirements or minimum-stability.  
  
  ---
  
  