Обновление NPM зависимостей Json — Как исправить уязвимости вручную

#node.js #security #npm #dependencies #package.json

Вопрос:

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

Я прочитал много постов, блогов и предложений, но не смог решить проблему.

В основном /css-то, что требует обновления до версии 5.0.1, и аудит npm говорит о том, что

 │ Dependency of │ gulp-imagemin [dev]  
                                    
│ Path          │ gulp-imagemin > imagemin-svgo > svgo > css-select > 
                | css-what 
 

Я запустил (на gulp-imagemin) команду npm update , затем перейдите в следующую папку (imagemin-svgo) и снова npm update и т. Д. и т. Д. Когда я прихожу в css-какой корень, я снова запускаю npm update , но он ничего не делает;

Затем я изменил свой пакет.json в соответствии

 "resolutions": {
"trim-newlines": "^4.0.1",
"css-what": "^5.0.1",
"scripts": {
  "preinstall": "npx npm-force-resolutions"
}
 

}

Я вернулся к основному корню для запуска npm i , но он не изменяет все ветви; Кроме того, когда я запускаю npm ls css-what или npm ls trim-newlines я вижу, что новая версия была установлена на node_modules, но более старая версия все еще остается неизменной в дереве

корень/дерево

Я следил https://hackernoon.com/how-fix-security-vulnerabilities-in-npm-dependencies-in-3-minutes-rq9g3y7u сообщение, но по какой-то причине это не сработало, скорее всего, из-за моей неопытности.

Спасибо за вашу помощь

Ответ №1:

Чтобы исправить уязвимость, вы можете попробовать :

 npm audit -fix
 

Для обновления вы также можете использовать npm-проверку обновлений

Комментарии:

1. Привет, исправление аудита npm ничего не исправило, я забыл добавить его в свой пост. Спасибо

2. попробуйте установить npm-check-updates , ввести ncu -u gulp-imagemin и закончить npm i .

3. Или если вы хотите обновить все пакеты, которые вы вводите ncu -u

4. После этой команды вы вводите npm i . попробуйте это увидеть.

5. Привет, Сега, спасибо за твое предложение. Я выполнил все команды по всему дереву. Ссылаясь на изображение, я примерил папку gulp-sass, папку мяу и те же новые строки обрезки. Похоже, что все зависимости обновлены, но когда я перехожу в основную папку и запускаю npm ls trim-newlines, версия остается старой…

Ответ №2:

npm update css-what работал на меня