首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该使用npm install还是npm update来保持代码最新?

我应该使用npm install还是npm update来保持代码最新?
EN

Stack Overflow用户
提问于 2020-01-22 23:10:38
回答 2查看 3.5K关注 0票数 4

所以我在我的工作空间里做一些项目,我注意到我的许多依赖项大约有3年了,包括React本身。我担心的是,如果我运行npm installnpm update,事情可能会崩溃,我可能会遇到大量的问题。在我的场景中,我想知道对我来说,是做一个npm installnpm update更好,还是只是让它保持原样?(我相信没有人会推荐)。

这是我们的package.json文件

代码语言:javascript
复制
{
  "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对我的系统会有什么影响,那就太好了。我知道他们每个人都有能力做什么,但我只是试着保持谨慎,想知道在我的场景中哪一个更好。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2020-01-22 23:29:51

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

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

我会说“咬紧牙关”,把它们更新到最新版本。这将是一项单调乏味的任务,但如果你想在更长的时间内保持这一点,这是你最好的选择。

票数 6
EN

Stack Overflow用户

发布于 2020-01-22 23:13:11

更新东西可能会破坏一些东西,或者在更新后一些依赖项将被弃用。除非有必要,否则我不会更新任何内容。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59862739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档