Есть ли возможность установить пакет npm без зависимостей?

Есть ли возможность установить пакет npm без зависимостей?

Я пытаюсь изменить пакет npm с несколькими зависимостями. Как следствие, npm install -g .выполнение занимает много времени. Есть ли у меня другие варианты, кроме удаления зависимостей из packages.json?

решение1

--необязательноопция теперь реализована согласно этой документацииhttps://docs.npmjs.com/cli/install:

The --no-optional argument will prevent optional dependencies from being installed.

решение2

Если вы разрабатываете это node_moduleсамостоятельно, не тратьте время на npm installs, вместо этого используйте npm link.

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

Благодаря этому изменения, вносимые в папку модуля, немедленно отражаются в вашем приложении.

Вот основные шаги (скопированы из руководства, ссылка на которое приведена ниже; обязательно прочитайте руководство, чтобы узнать важные моменты):

  1. компакт-диск кsrc/my_module
  2. Запустите " npm link". Это создаст символическую ссылку из глобальной папки в src/my_moduleпапку.
  3. компакт-диск кsrc/my_app
  4. Запустить npm link my_module. Это связывает node_modules/my_moduleданный конкретный проект с глобальной папкой, так что requireвызовы, ищущие , my_moduleв конечном итоге загружают его из вашей папки разработки, src/my_module.

Посмотрите этот урок:http://justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears И официальные документы для npm link:https://docs.npmjs.com/cli/link

решение3

Эта функция была запрошена еще в 2010 году, но, к сожалению, была проигнорирована и закрыта:https://github.com/npm/npm/issues/340

Я перепробовал кучу вариантов и, наконец, нашел довольно простое решение — переименовать package.json во что-то другое перед выполнением npm install, а затем вернуть его обратно после завершения установки:

mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json

решение4

Просматриваядокументыпохоже, что у него нет других вариантов, кроме --no-optionalпереключателя.

Непроверено/неподтверждено

Этот SO Q&A озаглавлен:npm installустанавливает все зависимости моего проекта по сети, даже если они уже установлены или доступны из кэшаКазалось бы, подразумевается, что есть --skip-installedпереключатель. Но в документах нет никаких ссылок на этот переключатель.

Связанный контент