当package是依赖项时,npm install失败

时间:2013-02-13 22:39:29

标签: git node.js makefile npm

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

当我运行npm install时,包构建得很好,但是,当我通过npm install libsbmlsim将它用作不同项目中的依赖项时,它无法找到它所依赖的二进制文件之一( 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等引入。我设置运行make的每个包的package.json文件中的安装脚本,我有一个相应的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

1 个答案:

答案 0 :(得分:1)

除非您已将模块发布到npm注册表(npm publish),否则您需要在开发过程中查看npm link

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