Должен ли я использовать npm install или npm update, чтобы поддерживать мой код в актуальном состоянии? - PullRequest
0 голосов
/ 22 января 2020

Итак, я работаю над некоторыми проектами в своем рабочем пространстве и замечаю, что многим моим зависимостям около 3 лет, включая сам React. Меня беспокоит то, что, если я запусту npm install или npm update, все может сломаться, и у меня может возникнуть множество проблем. В моем сценарии я хотел бы знать, лучше ли мне сделать npm install, npm update или просто оставить все как есть? (который, я уверен, никто не посоветует).

Вот наш пакет. json file

{
  "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"
  }
}

Я уже пытался обновить свои версии реагировать и реагировать на последние версии , но я начал получать предупреждения об устаревании componentWillMount и componentWillReceiveProps. Я попытался обновить response-router-dom, чтобы избавиться от некоторых из этих предупреждений, учитывая, что они указывали на такие вещи, как Link, Route, Switch, но это не подавляло их.

Если кто-нибудь знает, какой для меня лучший способ go об этом, и то, что эффекты npm install против npm update сделают для моей системы, было бы здорово. Я знаю, на что способен каждый из них, но я просто стараюсь быть осторожным и хочу знать, какой из них будет лучше в моем сценарии. Спасибо.

Ответы [ 2 ]

1 голос
/ 22 января 2020

Обновление может сломать вещи, или некоторые зависимости будут устарели после обновления. Я бы не стал ничего обновлять, если это не нужно.

0 голосов
/ 22 января 2020

Когда вы запускаете npm install в проекте, npm устанавливает последние версии, удовлетворяющие диапазонам семанти c, определенным в вашем пакете. json. После начальной установки повторный запуск npm install не обновляет существующие пакеты, поскольку npm уже находит подходящие версии, установленные в файловой системе.

При запуске npm update он освежает уже установленные пакеты. Когда вы запускаете npm update, npm проверяет, существуют ли более новые версии в репозитории, которые удовлетворяют указанным диапазонам версий c semanti, и устанавливает их.

Я бы сказал «кусать пулю» и обновлять их до последней. Это будет утомительное задание, но если вы хотите сохранить его на более длительный срок, это ваш лучший выбор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...