我正在构建一个npm包(libsbmlsim
),用于安装稍后将在服务器端使用的二进制文件。当包是依赖关系时,npm安装失败
当我运行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 install cmake
等我设置的安装脚本中的每个包的的package.json文件来运行make
NPM包,我有相应的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
你是什么意思“没有正确安装”?什么错误消息。 – 2013-02-14 02:46:48
我添加了错误消息和一些更多的细节,我依赖于一个不同的包中的二进制文件,我调用'node_modules/cmake/bin/cmake',当我正常运行'npm install'时工作正常,但是当它作为软件包从npm注册表中安装,我将安装脚本设置为'make',但它无法找到二进制文件,即使我已将它添加为依赖项。基于错误的 – user1027169 2013-02-14 03:09:58
,它找不到cmake二进制文件。由于我无法在这里运行,因此在构建您认为它的位置时可以使用cmake吗? – 2013-02-14 03:29:29