Я использую npm+node для простых сценариев. Минимальный пример: у меня есть каталог проекта node (в котором я запускал npm init), содержащий каталоги script.js
, package(-lock)?.json
и node_modules
с зависимостями. И этот скрипт я запускаю из cmdline node "C:/path-to-project/script.js"
.
Я хочу поделиться этим скриптом между двумя компьютерами. Я решил использовать npm и опубликовать свои скрипты в реестре.
Проблемы:
ГЛАВНЫЙ) Установка пакета на другом компьютере помещает его в node_modules
со своими зависимостями, поэтому его нельзя использовать из каталога главного проекта, как на исходном компьютере. Загрузка пакета с npm-pack
приводит к желаемой структуре каталогов, но больше нет возможности npm-update
главного проекта (= script.js).
SECONDARY) Я использую локальную зависимость, которая добавляется как ссылка на файл node_modules
. Я хотел бы сохранить его как локальную ссылку на исходном компьютере, но установить его из реестра на втором. Зависимость также публикуется, но при установке на второй компьютер происходит сбой npm с ошибкой Could not install from "node_modules\utils" as it does not contain a package.json file.
. Область действия пакета ограничена, поэтому конфликта имен нет, и здесь сообщается о чем-то подобном как об ошибке https://github.com/npm/npm/issues/18266.
Итак, каков правильный способ достижения моей цели? В основном первая часть об установке его в качестве основного проекта, а не зависимости, сохраняя при этом возможность обновления до более новой версии.