Недавно я установил новый nodejs 5.x с npm 3.x - наиболее заметным изменением является плоская структура в node_modules - это замечательно в среде Windows.npm 3.x и локальные пути в пакете module.json
К сожалению, я заметил, что новые npm помещают локальные пути в package.json для всех установленных модулей. Как я могу предотвратить это (или добавить туда относительный путь)? Я хочу передать мои node_modules в hg-репозиторий, поэтому все в команде разработчиков будут иметь одинаковые модули. Вот пример раздели package.json из Abbrev пакета:
{
"_args": [
[
"[email protected]://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz",
"C:\\Users\\ABC\\Documents\\ABC"
]
],
"_where": "C:\\Users\\ABC\\Documents\\ABC"
}
"C: \ Users \ ABC \ Documents \ ABC" является локальный путь
С наилучшими пожеланиями,
Похоже на то, что для 'npm shrinkwrap' для. https://docs.npmjs.com/cli/shrinkwrap – eush77
К сожалению, у упакованных пакетов также есть локальные пути, написанные менеджером npm. – Sassa
Я имею в виду, что вы можете запускать 'npm shrinkwrap' и передать полученный файл' npm-shrinkwrap.json' в свой проект - в этом файле нет относительных путей, а только имена пакетов и версии. Все остальные, проверяющие этот проект, просто устанавливаются из этого файла и получают точно такие же версии. Задача решена. Нет необходимости фиксировать все «node_modules» и обрабатывать мегабайты журналов разметки. – eush77