当包是依赖项时,npm安装失败

我正在构build一个npm包( libsbmlsim ),用于安装我将在以后使用服务器端的二进制文件。

当我运行npm install ,这个软件包就可以正常工作了,但是当我通过npm install libsbmlsim把它作为一个不同项目的依赖npm install libsbmlsim ,它无法find它所依赖的一个二进制文件( cmake ):

 /bin/sh: ../../node_modules/cmake/bin/cmake: No such file or directory make: *** [all] Error 127 npm ERR! libsbmlsim@0.0.2 install: `make` npm ERR! `sh "-c" "make"` failed with 2 npm ERR! npm ERR! Failed at the libsbmlsim@0.0.2 install script. 

我怀疑它与我的设置有关,所以我会在这里解释一下。 libsbmlsim依赖于一些其他的二进制文件( cmakelibsbml ),我也将它们捆绑为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

除非你已经将模块发布到npmregistry( npm publish ),否则你需要在开发过程中查看npm link

更多细节http://howtonode.org/introduction-to-npm (有点稀疏)