`java.lang.NoSuchMethodError: cats.FlatMap.map2` in runtime when using `.sequence`

`java.lang.NoSuchMethodError: cats.FlatMap.map2` in runtime when using `.sequence`

从 cats v1.1.0 迁移到 v1.4.0 后,我收到以下 运行time 错误(使用 .sequence (cats.Traverse) 的地方会出现错误)。

代码如下:

import cats.implicits._
import cats.effect.IO

List(1, 2, 3).map(x => IO(...)).sequence
java.lang.NoSuchMethodError: cats.FlatMap.map2$(Lcats/FlatMap;Ljava/lang/Object;Ljava/lang/Object;Lscala/Function2;)Ljava/lang/Object;
    at cats.effect.IOLowPriorityInstances$IOEffect.map2(IO.scala:765)
...

这是我的 build.sbt:

organization := "org.xxx"

name := "yyy"

version := "0.0.1"

scalaVersion := "2.12.9"

resolvers += Resolver.bintrayRepo("hseeberger", "maven")
resolvers ++= Seq("Sonatype Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/")

lazy val doobieVersion = "0.5.3"
lazy val akkaHttpVersion = "10.1.1"
lazy val akkaVersion = "2.5.12"
lazy val catsVersion = "1.4.0"
lazy val circeVersion = "0.9.3"

lazy val doobieDeps = Seq(
  "org.tpolecat" %% "doobie-core"      % doobieVersion,
  "org.tpolecat" %% "doobie-postgres"  % doobieVersion,
  "org.tpolecat" %% "doobie-scalatest" % doobieVersion,
  "org.tpolecat" %% "doobie-hikari"    % doobieVersion
)

lazy val catsDeps = Seq(
  "org.typelevel" %% "cats-effect" % catsVersion,
  "org.typelevel" %% "cats-core" % catsVersion
)

lazy val otherDeps = Seq(
  "com.github.pureconfig" %% "pureconfig" % "0.9.1",
  "org.scorexfoundation" %% "scrypto" % "2.1.1",
  "de.heikoseeberger" %% "akka-http-circe" % "1.20.1",
  "org.scalaj" %% "scalaj-http" % "2.4.0",
  "org.flywaydb" % "flyway-core" % "5.1.1",
  "com.github.blemale" %% "scaffeine" % "2.5.0",
  ("org.scorexfoundation" %% "sigma-state" % "master-2b4b07a1-SNAPSHOT")
    .exclude("ch.qos.logback", "logback-classic")
    .exclude("org.scorexfoundation", "scrypto"),
)
lazy val circeDeps = Seq(
  "io.circe" %% "circe-core" % circeVersion,
  "io.circe" %% "circe-parser" % circeVersion,
  "io.circe" %% "circe-generic" % circeVersion
)

libraryDependencies ++= (otherDeps ++ doobieDeps ++ catsDeps ++ loggingDeps ++ akkaDeps ++ circeDeps ++ testDeps)

我已经尝试 运行 以不同的方式(想法,设置 运行)和在不同的平台上 - 结果总是相同的。

可能是什么原因造成的?

尝试将版本更改为

"org.typelevel" %% "cats-effect" % "1.4.0",
"org.typelevel" %% "cats-core" % "1.6.1"

您的项目似乎与他们合作。