Je construis un paquet npm (libsbmlsim
) qui installe les binaires que j'utiliserai plus tard côté serveur.L'installation de npm échoue quand le paquet est une dépendance
Le paquet se construit très bien quand je lance npm install
, cependant, quand je l'utilise comme une dépendance dans un autre projet par l'intermédiaire npm install libsbmlsim
, il ne parvient pas à trouver un des binaires dont il dépend (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.
Je suppose que cela a à voir avec ma configuration, donc je vais vous expliquer un peu ici. libsbmlsim
dépend de quelques autres binaires (cmake
et libsbml
), que j'ai aussi fourni en tant que paquets npm que j'apporte en tant que dépendances ou npm install cmake
etc. J'ai mis le script d'installation dans les fichiers package.json de chaque paquet pour exécuter make
, et j'ai un correspondant Makefile
qui télécharge les binaires.
Encore une fois, cela fonctionne quand je lance npm install
quand j'ai libsbmlsim
comme son propre projet, mais il ne parvient pas à installer quand il est installé comme une dépendance, à savoir npm install libsbmlsim
.
Voici mon 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
Source est disponible ici: https://github.com/stanley-gu/libsbmlsim
qu'entendez-vous par « échec d'installation »? Quel est le message d'erreur? –
J'ai ajouté le message d'erreur et un peu plus de détails, je compte sur un binaire dans un paquet différent, j'appelle 'node_modules/cmake/bin/cmake', qui fonctionne bien quand je lance normalement' npm install', mais quand il est installé en tant que paquet à partir du registre npm, où j'ai défini le script d'installation comme 'make', il ne parvient pas à trouver le binaire, même si je l'ai ajouté en tant que dépendance. – user1027169
basé sur l'erreur, il ne peut pas trouver le binaire cmake. Puisque je ne peux pas courir ici, cmake est-il disponible en construisant où vous pensez que c'est? –