He estado trabajando en un proyecto que usaba d3 v5.5.0, lo moví a otra computadora, y cuando instalé npm ahora actúa como si fuera una versión superior de d3.
Parte de mi programa se basa en la forma antigua de d3 llamando a transform para zoom, y funcionó cuando era esa versión. Sin embargo, aunque en mis paquetes dice que tiene 5.5.0, arroja errores de que event.transform estaba en desuso (lo que sucedió en v6). ¿Cómo sabría que está en desuso si todavía debería usar 5.5.0? Además, si hago npm list , ¿dice la versión de d3@^5.16.0? Lo cual incluso entonces no tiene sentido, como puede ver en mi paquete.json.
Aquí está mi paquete.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" } }En su package.json , ha especificado que d3 sea "^5.5.0" . El ^ allí dice que la versión para instalar debe ser al menos la versión 5.5.0, por lo que npm solo instala la última. Si desea forzar v5.5.0, debe especificarlo con el ^ . por lo que su paquete.json debería tener "d3": "5.5.0" en lugar de "d3": "^5.5.0"