Вы не можете и не должны обновлять подпакеты (пакеты, используемые в качестве зависимостей для других пакетов).
Узловые модули предназначены для хранения всех зависимостей с указанными версиями внутри node_modules
, чтобыизбегайте проблем с новыми обновлениями.Допустим, ваш minimatch@3.0.4
вводит некоторые новые функции, теперь glob@4.5.3
может перестать работать, и, в свою очередь, gulp@3.9.1
также может перестать работать.
Вам следует:
обновить до новой версии gulp
, не беспокоясь о minimatch
npm update gulp
, или напрямую использовать последнюю версию minimatch
,используя
npm install minimatch
Если, однако, вы действительно хотите выполнить операцию по любой причине, вы можете попробовать следующий уродливый хак:
- установите minimatch где-нибудь в произвольном месте с помощью
npm install minimatch@3.0.4
- , перейдите в папку
node_modules
в этом месте и скопируйте папку minimatch
- , найдите папку установки gulp (это можетзависит от вашей системы,
C:\Users\user\AppData\Roaming\npm\node_modules\gulp
в Windows или /usr/lib/node_modules/gulp/
в Linux) - поиск
minimatch
в папке установки gulp
(find . | grep minimatch
) - заменить все найденные
minimatch
папки с той, которую вы только что установили в случайном месте
На этом этапе gulp
следует использовать обновленный minimatch
, хотя npm list
по-прежнему будет отображать номер старой версии.
Опять же, это крайне не рекомендуется и предоставляется только радивзмахивая вопросом.