使用 yarn 安装特定版本的包不起作用

Installing a specific version of a package with yarn doesn't work

我在 React 应用程序中使用 framer-motion。最新版本 - 4.1.13 - 打破了我的 ui。我需要降级到以前的版本 - 4.1.2 -(是的,版本控制看起来很奇怪,但 4.1.2 实际上早于 4.1.13,请参阅 https://www.npmjs.com/package/framer-motion)。

我运行命令yarn upgrade framer-motion@^4.1.2。在 package.json 中,包变为 4.1.2,但在 yarn.lock 中,包的版本仍为 4.1.13:

framer-motion@^4.1.2:
  version "4.1.13"
  resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-4.1.13.tgz#0a7f096113a0f80f11116c1a73da9b81523324cd"
  integrity sha512-E72PyzHXsie1IGcEFMGM3OJsVbtmpS8vcnDjh6tdeCaP7stoioZpmKZcx7c87giymAyuSSWvsGGdVnDGRzRX6g==
  dependencies:
    framesync "5.3.0"
    hey-listen "^1.0.8"
    popmotion "9.3.5"
    style-value-types "4.1.4"
    tslib "^2.1.0"
  optionalDependencies:
    "@emotion/is-prop-valid" "^0.8.2"

我当然做过rm -rf node_modules && yarn。它不会改变任何东西。

你的命令 运行: yarn upgrade framer-motion@^4.1.2 允许下面的任何版本 运行ge:

>=4.1.2 <5.0.0

4.1.13 属于这个 运行ge 所以 yarn 可能是最新的。 运行 yarn upgrade framer-motion@4.1.2安装特定版本。


如果它不起作用,作为最后的手段尝试添加:

"resolutions":
   "framer-motion": "4.1.2"
}