metis example has an error [Mismatching versions of `parity-scale-codec` were found!]

298 views Asked by At
  • I want to try compiling smart contract with "patractlabs/metis".
  • First of all,I downloaded example project and tried to compile.
  • But I got an error as following.
  • I downloaded from "https://github.com/patractlabs/metis/tree/master/example"
% npx redspot compile
compiler version: 0.14.0
toolchain: nightly
ink: 24 matches

===== Compile access_control =====

error: There are multiple `parity-scale-codec` packages in your project, and the specification `parity-scale-codec` is ambiguous.
Please re-run this command with `-p <spec>` where `<spec>` is one of the following:
  parity-scale-codec:2.3.1
  parity-scale-codec:3.1.2
ERROR: Mismatching versions of `parity-scale-codec` were found!
Please ensure that your contract and your ink! dependencies use a compatible version of this package.
An unexpected error occurred:
  • Please let me know how to resolve this error.
1

There are 1 answers

4
Zenas Chen On

There are breaking changes in ink! rc-9. Some of them are effective even if you're not using rc-9. Don't know if this is known to you.

https://github.com/paritytech/ink/blob/v3.0.0-rc9/RELEASES.md

One of the changes is about the dependencies of scale. The dependencies should be updated as below:

scale-info = { version = "2", default-features = false, features = ["derive"], optional = true }
scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive", "full"] }