Задать вопрос
keksmen
@keksmen
Just a programmer

Что делать, если сторонний модуль использует слишком длинные имена?

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

Т.е. мой модуль теперь нельзя просто взять и установить глобально, приходится использовать команду
npm link.

Существует ли решение подобной ситуации во внутренних механизмах npm?
  • Вопрос задан
  • 454 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
keksmen
@keksmen Автор вопроса
Just a programmer
Проблема была решена путём копирования из dependencies используемого модуля некоторые модули в свой dependencies.

Было:
package.json
{
  "dependencies": {
    "js-yaml": "^3.3.1",
    "yards-cli": "0.1.5"
  }
}

node_modules/module_name/package.json
{
  "dependencies": {
    "тяжелый-модуль-с-длинными-именами": "0.0.7"
  }
}


Стало:
package.json
{
  "dependencies": {
    "js-yaml": "^3.3.1",
    "yards-cli": "0.1.5",
    "тяжелый-модуль-с-длинными-именами": "0.0.7"
  }
}

node_modules/module_name/package.json
{
  "dependencies": {
    "тяжелый-модуль-с-длинными-именами": "0.0.7"
  }
}


Путём наблюдения было выяснено, что если некоторые модули из вашего dependencies и dependencies используемого модуля совпадают по имени и версии, то npm понимает, что нет смысла дважды устанавливать его т.к. используемый вами модуль сможет без проблем использовать перенесенный модуль следующим путем:
require('module_name');

Использовать осторожно: некоторые модули могут использовать файлы используемых модулей некорректно:
require('./node_modules/module_name/path/to/file.js');

Хотя, по факту, следующий код будет эквивалентным и более работоспособным в сложившейся ситуации:
require('module_name/path/to/file.js');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
слишком длинных путей к файлам/папкам
Это проблемы файловой системы. Причем данной конкретной файловой системы и я даже знаю, какой.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
СМК-РК Москва
от 200 000 до 250 000 ₽
Wanted. Санкт-Петербург
До 300 000 ₽