Error: "Unable to unserialize value" during composer update

I’m not sure if there is a specific command for that as I don’t know the Composer tool that well.

My personal workflow is to only update one module at a time anyway. This methodology is useful because it helps narrow down issues I may run into afterwards. For example, if I update 10 modules and something broke which wasn’t immediately obvious - I then have to work out which of the 10 was the problem.

Composer.json

However, there is another way of achieving what you want to achieve though, which is done by locking down the versions.

During installation of a module, you can do one of the following:

  1. Specify an exact version number
  2. Don’t specify an exact version number

When you specify a version number, you “lock it in” so that future upgrade commands ignore it.

However, if you want to change this option post-installation then this can be done by editing the composer.json file. For this example, I’m going to refer to a sagepaysuite module:

"ebizmarts/sagepaysuite": "^1.0",

Note the prefix of the version number:

  • ~ means update you to the next patch version if available
  • ^ means update you to the next minor patch version if available
  • no prefix locks in the version and never updates unless you specifically tell it to

So, to achieve what you’re after I would:

  1. Find the current version number(s) of your Plumrocket modules
  2. Find the entries in the composer.json file and replace whatever value is currently in there

For example if I currently had sagepaysuite v1.1 installed and wanted to “lock it in” so that it wasn’t affected by future composer update or setup/upgrade commands then I would edit the entry to look like this:

"ebizmarts/sagepaysuite": "1.1",

Important Note: If you’ve already run the composer update command, then it’s likely that the composer.json entry has already been changed. This is why you should check which version you have installed first rather than just remove the prefix. Also, make sure you do this to any related modules just in case any dependencies upgrade it anyway (albeit I don’t think it would but Im not sure).

1 Like