Почему NPM удаляет main: атрибут из package.json при установке модулей?(Узел JS 8.11.3 NPM 5.0.2) - PullRequest
0 голосов
/ 26 июня 2018

Я недавно обновил Nodejs до 8.11.3 с 8.11.2 или 8.11.1, и когда я запустил установку NPM в моем проекте, он обновил модули и некоторые из модулей, которые я использую в своем проекте (большинствоявляются зависимостями), например, ip, bignumber.js, inflection, чтобы назвать некоторые особенности, npm удалил атрибут «main»: из файла package.json.У меня есть те же зависимости, которые у меня были всегда, и никогда не было этой проблемы раньше.Поэтому, когда я пошел, чтобы запустить свой проект, я получил сообщение об ошибке:

"Cannot find module 'ip'"

например.Когда я зашел на страницу git для модуля и скопировал атрибут «main»: из package.json на странице проекта, это решило проблему.

"main": "lib/ip",

Что я хочу знать, так это какполучить NPM от удаления атрибута "main" :.Мне нужен NPM для установки модулей без изменений ... Я не могу вносить изменения в модули, чтобы заставить его работать, моя машина разработки использует Windows 10. Я обычно фиксирую проект в git на сервере после того, как проверилэто локально, чтобы знать, что все работает.Я не загружаю модули, сервер извлекает модули зависимостей из репозиториев, когда я делаю коммит.Сервер использует NPM, и было бы нелегко перейти на что-то другое, потому что я не контролирую этот аспект сервера.

Я не хочу беспокоиться о том, что то же самое происходит на сервере ...

1 Ответ

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

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

Я нашел этот вопрос: Как мне обновить npm в Windows? , чтобы помочь решить проблему.

После обновления до текущей версии npm проблема была решена.

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