Иногда так бывает что для запуска проекта нужна определенная версия пакета.
А к этому пакету (например gulp) нужно подтянуть совместимую версию пакета командной строки (gulp-cli) А затем найти пакеты примерно тех же чисел выпуска и воссоздать проект.
Что делать? Как быть?
Пакеты выпускаются слишком часто а если прошли годы - миссия кажется не выполнимой.
Этот маленький гайд как это делается.
Для примра возьмем Gulp пакет. Дело в том что есть версия 3.9.1 и версия 4.0.0 и эти версии не совместимы. И к примеру у вас есть хороший конфиг на старом gulp но неизвестно почему он выдает ошибки на 3.9.1 а потом проверяете командную строку и удивляетесь что стоит последняя версия командной строки gulp-cli, и даже незнаете какая версия командной строки gulp-cli была во времена gulp@3.9.1
Go go go!
Есть команда npm view но как ей пользоваться? Какие параметры надо искать, как фильтровать? И что именно делает npm view? (View registry info)
Если введете npm view gulp то выдаст много чего и как в этом разбиратся - непонятно.
если напишите npm view gulp --json то ситуация стала еще хуже
 |
окно ввода команды npm view
|
npm view gulp versions --json - выдаст список всех версий
npm view gulp versions time --json выдаст список версий и дату релизов - прелесть, то что нам и надо.
Давайте введем npm view gulp versions time --json найдем версию 3.9.1 ("3.9.1": "2016-02-08T18:50:16.472Z", )и подберем правильную версию gulp-cli по дате используя данную команду npm view gulp-cli versions time --json Выдаст "1.2.1": "2016-02-09T21:01:10.735Z".
Это значит что версии gulp-cli@1.2.1 соответствует пакет gulp@3.9.1
Если стоит задача подтянуть все пакеты, то таким методом выбираются нужные пакеты и устанавливаются командой npm install gulp-sass@2.2.0 если требуется уствновить рабочий sass в проект, кототый проветяется командой npm view gulp-sass versions time --json и выдаст такой результат:
"modified": "2024-05-14T19:23:52.024Z",
"created": "2013-08-31T23:53:38.008Z",
"0.1.0": "2013-08-31T23:53:39.340Z",
"0.2.1": "2013-09-01T04:55:37.985Z",
"0.2.2": "2013-12-15T02:33:24.085Z",
"0.2.3": "2014-01-05T15:17:17.168Z",
"0.3.0": "2014-01-10T21:44:18.634Z",
"0.4.0": "2014-01-13T06:44:07.475Z",
"0.4.1": "2014-01-19T08:42:32.911Z",
"0.5.0": "2014-01-22T20:52:47.028Z",
"0.5.1": "2014-01-22T22:41:21.773Z",
"0.5.2": "2014-01-22T23:49:22.741Z",
"0.6.0": "2014-01-25T17:47:01.743Z",
"0.7.0": "2014-02-11T05:02:06.587Z",
"0.7.1": "2014-02-22T00:08:28.811Z",
"0.7.2": "2014-06-06T05:31:02.487Z",
"0.7.3": "2014-08-12T19:10:37.522Z",
"1.0.0": "2014-09-24T19:24:28.986Z",
"1.1.0": "2014-10-09T22:06:51.147Z",
"1.2.0": "2014-10-16T23:29:17.529Z",
"1.2.1": "2014-10-28T18:03:20.946Z",
"1.2.2": "2014-10-29T06:03:41.952Z",
"1.2.3": "2014-11-14T02:50:01.085Z",
"1.2.4": "2014-12-04T06:54:19.516Z",
"1.3.0": "2015-01-14T01:27:34.303Z",
"1.3.1": "2015-01-14T04:56:24.039Z",
"1.3.2": "2015-01-16T18:37:46.162Z",
"1.3.3": "2015-02-12T21:54:39.265Z",
"2.0.0-alpha.1": "2015-04-02T02:08:02.436Z",
"2.0.0": "2015-05-06T23:57:23.078Z",
"2.0.1": "2015-05-13T11:17:04.617Z",
"2.0.2": "2015-06-25T14:40:05.954Z",
"2.0.3": "2015-06-27T17:40:46.400Z",
"2.0.4": "2015-07-15T18:03:28.083Z",
"2.1.0-beta": "2015-09-21T12:17:46.405Z",
"2.1.0": "2015-10-28T06:15:09.835Z",
"2.1.1": "2015-12-10T12:59:30.365Z",
"2.2.0": "2016-02-04T11:35:45.196Z",
"2.3.0-beta.1": "2016-02-04T12:07:41.318Z",
"2.3.0": "2016-04-21T01:38:16.752Z",
"2.3.1": "2016-04-21T23:03:40.514Z",
"2.3.2": "2016-06-15T10:59:07.630Z",
"3.0.0": "2016-12-10T13:56:13.363Z",
"3.1.0": "2017-01-09T08:18:14.487Z",
"3.2.0": "2018-03-12T03:30:42.617Z",
"3.2.1": "2018-03-24T01:52:09.257Z",
"4.0.0": "2018-04-05T11:21:10.941Z",
"4.0.1": "2018-04-08T04:48:36.961Z",
"4.0.2": "2018-10-16T08:02:28.320Z",
"4.1.0": "2020-04-23T10:19:40.645Z",
"4.1.1": "2021-06-24T09:41:43.709Z",
"5.0.0": "2021-06-25T08:55:28.104Z",
"5.1.0": "2021-12-31T01:47:37.912Z"
На этом все, желаю всем не терять свои пакеты.
Гавелюк Игорь