Я создаю пакет npm (libsbmlsim
), который устанавливает двоичные файлы, которые я позже буду использовать на стороне сервера.npm install не работает, когда пакет является зависимым
Пакет строит просто отлично, когда я бегу npm install
, однако, когда я использую его в качестве зависимости в другом проекте через npm install libsbmlsim
, он не может найти один из двоичных файлов, от которых она зависит (cmake
):
/bin/sh: ../../node_modules/cmake/bin/cmake: No such file or directory
make: *** [all] Error 127
npm ERR! [email protected] install: `make`
npm ERR! `sh "-c" "make"` failed with 2
npm ERR!
npm ERR! Failed at the [email protected] install script.
Я подозреваю, что это связано с моей настройкой, поэтому я немного объясню это. libsbmlsim
зависит от нескольких других двоичных файлов (cmake
и libsbml
), что у меня также есть как пакеты npm, которые я ввожу в качестве зависимостей или npm install cmake
и т. Д. Я установил скрипт установки в файлы package.json каждого пакета для запуска make
, и у меня есть соответствующий Makefile
, который загружает двоичные файлы.
Опять же, это работает, когда я бегу npm install
когда я libsbmlsim
как свой собственный проект, но он не может установить, когда он установлен как зависимость, т.е. npm install libsbmlsim
.
Вот мой Makefile:
all:
wget http://fun.bio.keio.ac.jp/software/libsbmlsim/downloads/libsbmlsim-1.1.0.tar.gz
tar -xvzf libsbmlsim-1.1.0.tar.gz
mkdir -p libsbmlsim-1.1.0/build
cd libsbmlsim-1.1.0/build; export PATH=../../node_modules/cmake/bin:$(PATH); cmake .. -DCMAKE_INSTALL_PREFIX=../../libsbmlsim -DLIBSBML_INCLUDE_DIR=../../node_modules/libsbml/include -DLIBSBML_LIBRARY=../../node_modules/libsbml/lib64/libsbml.so
cd libsbmlsim-1.1.0/build; export PATH=../../node_modules/cmake/bin:$(PATH); make -j4
cd libsbmlsim-1.1.0/build; make install;
rm -rf libsbmlsim-1.1.0
rm *.tar.gz
Источник доступен здесь: https://github.com/stanley-gu/libsbmlsim
что вы имеете в виду «не удается правильно установить»? Что сообщение об ошибке. –
Я добавил сообщение об ошибке и несколько более подробно, я полагаюсь на двоичный файл в другом пакете, я называю 'node_modules/cmake/bin/cmake', который отлично работает, когда я запускаю' npm install' нормально, но когда он установленный как пакет из реестра npm, где я устанавливаю скрипт установки как 'make', он не может найти двоичный файл, хотя я добавил его как зависимость. – user1027169
, основанный на ошибке, он не может найти двоичный файл cmake. Поскольку я не могу работать здесь, доступен ли cmake при построении, где вы думаете, что это такое? –