node.js - 我应该使用 npm install 还是 npm update 来使我的代码保持最新?

标签 node.js reactjs npm

所以我正在我的工作空间内处理一些项目,我注意到我的很多依赖项大约有 3 年的历史,包括 React 本身。我担心的是,如果我运行 npm installnpm update ,事情可能会中断,我可能会遇到很多问题。在我的场景中,我想知道是我做 npm installnpm update 还是保持原样更好? (我敢肯定没有人会推荐)。

这是我们的 package.json 文件

{
  "name": "my-app",
  "version": "0.0.2",
  "main": "index.js",
  "license": "MIT",
  "scripts": {
    "start": "node src/entry",
    "start-dev": "npm-run-all --parallel build babel-node",
    "serve": "live-server public/",
    "build-linux": "clear && webpack && clear && yarn build-server && clear && yarn start",
    "build-windows": "cls && webpack && cls && yarn build-server && cls && yarn start",
    "build-server": "babel src/server -d src",
    "dev-server": "webpack-dev-server",
    "babel-node": "nodemon --exec babel-node src/server.js"
  },
  "dependencies": {
    "aws-sdk": "^2.358.0",
    "axios": "^0.19.0",
    "babel-cli": "^6.26.0",
    "babel-core": "^6.26.3",
    "babel-loader": "7.1.1",
    "babel-plugin-transform-class-properties": "6.24.1",
    "babel-polyfill": "^6.26.0",
    "babel-preset-env": "^1.7.0",
    "babel-preset-react": "6.24.1",
    "babel-preset-stage-0": "^6.24.1",
    "bcryptjs": "^2.4.3",
    "body-parser": "^1.18.2",
    "core-js": "^2.5.3",
    "css-loader": "0.28.4",
    "express": "latest",
    "file-loader": "^1.1.5",
    "fs": "0.0.1-security",
    "google-maps-react": "^1.1.4",
    "html2canvas": "^1.0.0-rc.3",
    "image-webpack-loader": "^4.6.0",
    "immutability-helper": "^2.4.0",
    "jquery": "^3.4.1",
    "jsonwebtoken": "^8.1.0",
    "jspdf": "^1.5.3",
    "lodash": "^4.17.14",
    "moment": "^2.22.2",
    "node-sass": "^4.11.0",
    "nodemailer": "^4.7.0",
    "normalize.css": "7.0.0",
    "npm": "^6.10.1",
    "promise-mysql": "^3.1.0",
    "prop-types": "^15.6.0",
    "react": "^16.0.0",
    "react-csv": "^1.0.14",
    "react-dom": "^16.0.0",
    "react-router-dom": "4.2.2",
    "react-scripts": "^2.1.3",
    "sass-loader": "6.0.6",
    "socket.io": "^2.0.3",
    "style-loader": "0.18.2",
    "table2csv": "^1.1.1",
    "twilio": "^3.24.0",
    "validator": "8.0.0",
    "webpack": "^3.12.0",
    "webpack-dev-middleware": "^3.5.0",
    "webpack-dev-server": "^3.1.14"
  },
  "devDependencies": {
    "concurrently": "^3.5.0",
    "npm-run-all": "^4.1.1"
  }
}

我已经尝试将我的 react 和 react-dom 版本更新到最新版本,但是我开始收到有关 componentWillMount 和 componentWillReceiveProps 已过时的警告。我尝试更新 react-router-dom 以消除其中一些警告,考虑到它们指向诸如 Link, Route, Switch 之类的东西,但这并没有抑制它们。

如果有人知道对我来说最好的方法是什么,以及 npm installnpm update 对我的系统有何影响,那就太好了。我知道他们每个人的能力,但我只是想保持谨慎,想知道在我的情况下哪个更好。谢谢。

最佳答案

在项目上运行 npm install 时,npm 会安装满足 package.json 中定义的语义版本控制范围的最新版本。初始安装后,重新运行 npm install 不会更新现有包,因为 npm 已经找到安装在文件系统上的满意版本。

当您运行 npm update 时,它​​会刷新已安装的软件包。当您运行 npm update 时,npm 检查存储库中是否存在满足指定语义版本控制范围的更新版本并安装它们。

我会说“咬紧牙关”并将它们更新为最新版本。这将是一项乏味的任务,但如果您希望长期维护它,这是您最好的选择。

关于node.js - 我应该使用 npm install 还是 npm update 来使我的代码保持最新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59862739/

相关文章:

android - Android 和 iPhone 设备之间发送推送通知的服务器实现

npm - 安装npm时发现12个高危漏洞

reactjs - 在 react 中获取 URL ID

node.js - 尝试全局安装 socket.io 时出错

npm - 在缓存或工作目录中找不到调试日志

javascript - Express 4 中路径参数中的 Json 类对象

javascript - ( Node )警告 : possible EventEmitter memory leak detected

javascript - 无法加载静态文件 express js

reactjs - 网页游戏开发中react/redux和unity的集成

css - 使用类名和 React 看不到我的类?