2014-02-12 2 views
3

Я использую npm для установки зависимостей. После того, как я установил их, я хочу поделиться своим проектом с кем-то, кто не является техническим, и не имеет npm, поэтому я хочу отправить node_modules внутри приложения.Слишком длинный путь из-за зависимостей вложенных узлов

Однако, поскольку узел гнездится зависимостей, он создает файл, который имеет очень длинный путь (217 символов)

node_modules\express\node_modules\connect\node_modules\multiparty\node_modules\readable-stream\node_modules\string_decoder\build\node_modules\cheerio\node_modules\htmlparser2\node_modules\domhandler\test\cases\04-unescaped_in_script.json 

задачи (на окнах) является то, что, когда конечные пользователи пытаются копировать/вставить папка со слишком длинными именами файлов, он получает следующее сообщение об ошибке:

enter image description here

ли это, например, можно сказать НПМ установить зависимости в папке nm , так что проблема, скорее всего, не появится.

ответ

2

Чтобы обойти эту проблему, я хотел бы попробовать:

  1. Картирование путь к виртуальному диску. Если это сетевая папка , вы можете использовать «Tools-> Map Network drive», если нет, вы можете использовать команду «subst» . Более подробная информация здесь: http://www.makeuseof.com/tag/how-to-map-a-local-windows-folder-to-a-drive-letter/

  2. Поскольку проблема просто скопировать набор папки, почему бы не попробовать Robocopy? Он поддерживает более длинные пути к файлам, чем собственный проводник Windows .

+0

Ну, дело в том, что я не могу использовать ROBOCOPY команды, потому что я ожидаю, что главный пользователь, чтобы скопировать пасту, и он не будет вводить эту команду. – edi9999

+0

, но он может дважды щелкнуть подготовленный файл .bat, который вы создали с помощью команды, не так ли? – pkExec

+0

Ну, он мог бы, но тогда я предпочел бы создать установщика. – edi9999

3

Ситуация пошла лучше с предстоящими НПМ 3. Раньше я должен был разработать близко к корневой папке диска (C: \ GH), но НПЕ 3 имеет более плоскую иерархию. В очень редких случаях может существовать действительно длинный путь. Это произойдет, если есть конфликты версий, и npm придется устанавливать пакет в подпапку вместо корня node_modules.

Shameless вилка: Я написал a blog post о проблеме & решения

+0

Я также нашел это предложение использовать модуль 'rimraf', полезный для забывания из беспорядка, созданного npm меньше 3.x в Windows. Большое спасибо, Tx3! – BigBlueHat

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