2015-03-24 4 views
0

Мы используем Nexus как внутренний репозиторий NPM. По какой-то причине он добавляет все optionalDependencies в dependencies.Sonatype Nexus добавляет дополнительные зависимости к зависимостям

Так что, если я публикую (предположим, что надлежащее JSON): { version: '1.0', dependencies: { a: '1' }, optionalDependencies: { b: '1', c: '1' } }

Тогда я получаю { version: '1.0', dependencies: { a: '1', b: '1', c: '1' }, optionalDependencies: { b: '1', c: '1' } }

как в metatada (например, если его запросить через браузер) и в package.json установленного пакета.

Любые советы?

+0

версия б/у 2.11.2-06 –

ответ

0

Оказалось, что это одна из скрытых «особенностей» npm: см. https://github.com/npm/npm/issues/3502.

Если зависимость присутствует в обоих dependencies и optionalDependencies, последний имеет преимущество (see here), так что это изменение в package.json не должны влиять на вас.

Если это так, вы всегда можете указать npm, чтобы пропустить эти зависимости, используя npm install --no-optional (https://docs.npmjs.com/cli/install).

Смежные вопросы