Я разрабатываю компонент для использования в качестве зависимости.Он предоставляет binary
, поэтому родительское приложение должно иметь возможность вызывать component
из сценариев package.json.
Мой компонент зависит от некоторых других пакетов, например http-server
.Когда приложение вызывает мой компонент из сценария, я пытаюсь запустить http-server
.Я делаю это, выполняя его двоичный файл из /node_modules/.bin/
.
. Он работал, пока я не опубликовал и не установил свой компонент в родительском приложении.В моей папке .bin
есть некоторые компоненты, но не все, например, http-server
там нет.
Я не знаю, является ли это условием, но есть http-server
в папке .bin
родительского приложения.
app/
--.bin/ (it does have http-server AND the component binary)
----component (the component bin)
----http-server (http-server bin)
--node_modules/
----component/
------node_modules/
--------.bin/ (it does have http-server)
----------gulp (there are other binaries here)
В процессе установки двоичный файл http-сервера не был создан в /node_modules/component/node_modules/.bin/.Поэтому, когда я попытался выполнить его, его там не было.
И сегодня я столкнулся с этой информацией, когда копался в пакете ( npm-run package ):
Почему: из-за алгоритма установки npm node_modules / .bin не обязательно содержат ваш исполняемый файл.npm-run использует тот же механизм, который использует npm для поиска правильного исполняемого файла.
Что мне нужно сделать?Использование этого пакета npm-run - это путь?