d3 版本好像是更高版本?

d3 Version acting as if it's a higher version?

我一直在做一个使用 d3 v5.5.0 的项目,将它移到另一台计算机上,当我安装 npm 时,它现在就像是更高版本的 d3 一样?

我的部分程序依赖于 d3 调用 transform 进行缩放的旧方法,并且在那个版本时有效。然而,即使在我的包中它说它有 5.5.0,它也会抛出 event.transform 已被弃用的错误(这发生在 v6 中)。如果它仍应使用 5.5.0,它怎么知道它已被弃用?另外,如果我做 npm list 它说的是 d3@^5.16.0 的版本?即便如此,正如您从我的 package.json.

中看到的那样,这仍然没有意义

这是我的package.json

{
  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.11.4",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "api": "npx json-server --watch .\src\components\limit.json --port 8000"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "csvtojson": "^2.0.10",
    "d3": "^5.5.0",
    "react": "^16.4.2",
    "react-dom": "^16.4.1",
    "react-file-reader": "^1.1.4",
    "react-request": "^3.2.0",
    "react-router-dom": "^6.0.2",
    "react-scripts": "^4.0.2",
    "react-scroll-wheel-handler": "^2.0.1",
    "styled-components": "^5.2.1",
    "use-neo4j": "^0.3.5",
    "webpack": "^4.44.2",
    "write-json-file": "^4.3.0",
    "xlsx": "^0.16.9"
  }
}

在您的 package.json 中,您已将 d3 指定为 "^5.5.0"。那里的 ^ 说要安装的版本必须 至少 版本 5.5.0,所以 npm 只安装最新的。如果你想强制使用 v5.5.0,你应该用 ^ 指定它。 所以你的 package.json 应该有 "d3": "5.5.0" 而不是 "d3": "^5.5.0"