обновить зависимость глобального пакета в npm - PullRequest
0 голосов
/ 12 июня 2018
  • npm версия: 3.10.10
  • node версия: 6.14.2

Мне нужно обновить некоторые зависимости npm для решения некоторыхпредупреждения безопасности.Пример: sshpk - это зависимость npm через http-signature и request:

bash-4.3# npm ls sshpk -g
/usr/local/lib
`-- npm@3.10.10
  `-- request@2.75.0
    `-- http-signature@1.1.1
      `-- sshpk@1.10.1

Мне нужно sshpk, чтобы перейти на >=1.14.1, что возможно для данной версиизаблокировать http-signature@1.1.1 package.json:

"dependencies": {
    "assert-plus": "^0.2.0",
    "jsprim": "^1.2.2",
    "sshpk": "^1.7.0"
  },

Я пытался запустить npm upgrade -g npm@3 и npm --depth 9999 upgrade -g npm@3 безуспешно.Кажется, что npm не продолжается в каком-либо действии update, так как он замечает, что мы уже на последней версии npm 3.x.x 3.10.10.Мне нужно быть в состоянии поддерживать зависимости npm в актуальном состоянии в том, что касается исправлений безопасности.Возможно ли это через npm update напрямую?Я думаю о чем-то похожем на yarn upgrade <package>@<version>, где он будет проходить по зависимостям пакета и обновлять их, даже если родительский пакет не нуждается в изменении версии.

1 Ответ

0 голосов
/ 13 июня 2018

Надежный способ переустановить пакет - это удалить его или node_modules и установить заново.

Поскольку NPM не может быть установлен без NPM, для этого требуется Узел для переустановки .

Альтернативой является установка запасной оболочки NPM (например, npm3) и использование ее для переустановки основного npm пакета

npm i -g npm3
rm -rf npm/
npm3 i -g npm@3

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

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