TopShelfCraft / Wordsmith

A plugin for Craft CMS to help you manage and manipulate text.
Other
30 stars 20 forks source link

Problem upgrading to Craft 3.5 with Wordsmith 3.2 installed #37

Closed idawgik closed 4 years ago

idawgik commented 4 years ago

Update: Craft 3.5 requires Wordsmith 3.3.

📌 ... The solution:

  1. Uninstall Wordsmith (3.2)
  2. Update Craft (3.5)
  3. Re-install Wordsmith (3.3)

Hello,

I'm attempting to upgrade to Craft 3.5.0 on a site using Wordsmith.

I get the following errors during the composer updates:

Output:

<warning>Package "craftcms/vue-asset" listed for update is not installed. Ignoring.</warning>
<warning>Package "danielstjules/stringy" listed for update is not installed. Ignoring.</warning>
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: remove topshelfcraft/wordsmith 3.2.0
    - Conclusion: don't install topshelfcraft/wordsmith 3.2.0
    - Conclusion: don't install voku/stringy 5.2.0
    - Conclusion: don't install voku/stringy 6.3.1
    - Conclusion: remove voku/stringy 5.1.1|install voku/stringy 6.3.1
    - Conclusion: don't install voku/stringy 5.1.1
    - Installation request for topshelfcraft/wordsmith 3.2.0 -> satisfiable by topshelfcraft/wordsmith[3.2.0].
    - Installation request for craftcms/cms 3.5.0 -> satisfiable by craftcms/cms[3.5.0].
    - topshelfcraft/wordsmith 3.2.0 requires voku/stringy ^5.1.0 -> satisfiable by voku/stringy[5.1.1, 5.2.0, 5.1.0].
    - Can only install one of: voku/stringy[5.1.0, 6.2.2].
    - Can only install one of: voku/stringy[6.2.2, 5.1.1].
    - craftcms/cms 3.5.0 requires voku/stringy ^6.2.2 -> satisfiable by voku/stringy[6.3.1, 6.3.0, 6.2.2].
    - Conclusion: don't install voku/stringy 6.3.0

It looks like there's a conflict with the plugin and Craft both requiring different versions of the Stringy library.

kerns commented 4 years ago

Same issue. Had to completely remove the plugin and am now sifting through templates to remove all my beloved |widontfilters. Hope this can be resolved. 👍

moondawg69 commented 4 years ago

Same issue here as well. Hope this can be resolved as well please :)

mariussunde commented 4 years ago

Same!

michaelrog commented 4 years ago

Make sure your dependency constraint for Wordsmith allows the latest version of Wordsmith (3.3.0) to be installed.

(Wordsmith 3.3 uses a later version of Stringy in order to be compatible with Craft 3.5, so you should be able to update both in tandem. Versions of Wordsmith prior to 3.3 will not be compatible with Craft 3.5.)

michaelrog commented 4 years ago

(@kerns @moondawg69 @mariussunde — feel free to post your composer.json files if you'd like help updating your dependency constraints to be Craft 3.5-ready.)

moondawg69 commented 4 years ago

If you could advise on the composer files please, that would be handy, thank you.

Archive.zip

michaelrog commented 4 years ago

@moondawg69 — just add a ^ to your dependency constraint for Wordsmith, like this:

"topshelfcraft/wordsmith": "^3.2.0",

That'll ensure maximum interoperability with future versions of Wordsmith and Craft.

Curiously, did you install Wordsmith via the command-line Composer tool, or from the Craft Plugin Store?

moondawg69 commented 4 years ago

Thank you @michaelrog - I changed composer.json to: "topshelfcraft/wordsmith": "^3.2.0",

Logged into the CP and ran the 3.5 update, same(ish) issue, but slightly different:

Composer output: Package "craftcms/vue-asset" listed for update is not installed. Ignoring.
Package "danielstjules/stringy" listed for update is not installed. Ignoring.
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

Problem 1
- topshelfcraft/wordsmith 3.2.0 requires craftcms/cms 3.3 - 3.4 -> satisfiable by craftcms/cms[3.3.0, 3.3.0.1, 3.3.1, 3.3.1.1, 3.3.1.2, 3.3.2, 3.3.3, 3.3.4, 3.3.4.1, 3.3.5, 3.3.6, 3.3.7, 3.3.8, 3.3.9, 3.3.10, 3.3.11, 3.3.12, 3.3.13, 3.3.14, 3.3.15, 3.3.16, 3.3.16.1, 3.3.16.2, 3.3.16.3, 3.3.17, 3.3.18, 3.3.18.1, 3.3.18.2, 3.3.18.3, 3.3.18.4, 3.3.19, 3.3.20, 3.3.20.1, 3.4.0-beta.1, 3.4.0-beta.2, 3.4.0-beta.3, 3.4.0-beta.4, 3.4.0-beta.5, 3.4.0-RC1, 3.4.0-RC1.1, 3.4.0-RC2, 3.4.0-RC3, 3.4.0, 3.4.0.1, 3.4.0.2, 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.4.1, 3.4.5, 3.4.6, 3.4.6.1, 3.4.7, 3.4.7.1, 3.4.8, 3.4.9, 3.4.10, 3.4.10.1, 3.4.11, 3.4.12, 3.4.13, 3.4.14, 3.4.15, 3.4.16, 3.4.17, 3.4.17.1, 3.4.18, 3.4.19, 3.4.19.1, 3.4.20, 3.4.21, 3.4.22, 3.4.22.1, 3.4.23, 3.4.24, 3.4.25, 3.4.26, 3.4.27, 3.4.28, 3.4.28.1, 3.4.29, 3.4.29.1, 3.4.30] but these conflict with your requirements or minimum-stability.
- Conclusion: remove topshelfcraft/wordsmith 3.2.0
- Conclusion: don't install voku/stringy 5.2.0
- Conclusion: don't install voku/stringy 6.3.1
- Conclusion: remove voku/stringy 5.1.1
- Installation request for topshelfcraft/wordsmith (locked at 3.2.0, required as ^3.2.0) -> satisfiable by topshelfcraft/wordsmith[3.2.0].
- Installation request for craftcms/cms 3.5.1 -> satisfiable by craftcms/cms[3.5.1].
- topshelfcraft/wordsmith 3.2.0 requires voku/stringy ^5.1.0 -> satisfiable by voku/stringy[5.1.1, 5.2.0, 5.1.0].
- Can only install one of: voku/stringy[5.1.0, 6.2.2].
- Can only install one of: voku/stringy[5.1.1, 6.2.2].
- Can only install one of: voku/stringy[6.2.2, 5.1.1].
- craftcms/cms 3.5.1 requires voku/stringy ^6.2.2 -> satisfiable by voku/stringy[6.3.1, 6.3.0, 6.2.2].
- Conclusion: don't install voku/stringy 6.3.0

And yes, always via the Plugin Store, do not touch the command line or SSH.

michaelrog commented 4 years ago

Thanks for troubleshooting this with me, @moondawg69!

Try this:

  1. Update your Composer file to reflect the most recent versions of Wordsmith and Craft:

    "craftcms/cms": "^3.5",
    ...
    "topshelfcraft/wordsmith": "^3.3",
  2. Run Composer's update command:

    composer update
  3. From the Craft control panel, update any remaining items.

michaelrog commented 4 years ago

To summarize:

The immediate solution (for Plugin Store installs) is silly, but simple:

  1. Uninstall Wordsmith (3.2)
  2. Update Craft (3.5)
  3. Re-install Wordsmith (3.3)
moondawg69 commented 4 years ago

@michaelrog well that worked, thank you:

Uninstall Wordsmith (3.2) Update Craft (3.5) Re-install Wordsmith (3.3)

And now onto other plugins that are being naughty too :)

michaelrog commented 4 years ago

Thanks @idawgik for bringing this up.

@kerns @mariussunde ☝️ — Does that work for yall, too?

(Hopefully easier than ripping out all your |widonts...) 😅

mariussunde commented 4 years ago

@michaelrog oddly enough, it does not do the trick for me. I uninstalled* every plugin and still get an error so currently in touch with Craft support.

Your requirements could not be resolved to an installable set of packages.

Problem 1

  • Conclusion: remove tcb13/substringy 1.0.0
  • Conclusion: don't install tcb13/substringy 1.0.0
  • Conclusion: remove danielstjules/stringy 3.1.0
  • Installation request for tcb13/substringy (locked at 1.0.0) -> satisfiable by tcb13/substringy[1.0.0].
  • Installation request for craftcms/cms 3.5.1 -> satisfiable by craftcms/cms[3.5.1].
  • Conclusion: don't install voku/stringy 6.3.1
  • craftcms/cms 3.5.1 requires voku/stringy ^6.2.2 -> satisfiable by voku/stringy[6.3.1, 6.3.0, 6.2.2].
  • don't install voku/stringy 6.3.0|don't install danielstjules/stringy 3.1.0
  • don't install voku/stringy 6.2.2|don't install danielstjules/stringy 3.1.0
  • tcb13/substringy 1.0.0 requires danielstjules/stringy ^3.1 -> satisfiable by danielstjules/stringy[3.1.0].
  • Conclusion: don't install danielstjules/stringy 3.1.0|install voku/stringy 6.3.1
michaelrog commented 4 years ago

@mariussunde — Sounds like there may be lingering references to danielstjules/stringy, tcb13/substringy, or Wordsmith, in your composer.json or composer.lock...? You may need to clean those out before the Plugin Store updater will let you proceed.

kerns commented 4 years ago

Thanks @idawgik for bringing this up.

@kerns @mariussunde ☝️ — Does that work for yall, too?

(Hopefully easier than ripping out all your |widonts...) 😅

Much easier! Worked perfectly for me. Thanks!