我现在遇到的问题是这样的我在32位的linux系统下通过npm安装了node-oracle这个模块,然后我把我的工程复制到别的32为系统上都是正常的 但是放到64位的系统上会报这样的错node_modules/oracle/build/Release/oracle_bindings.node: wrong ELF class: ELFCLASS32; 度娘了一下是说64位的不能引用32位的,而现在蛋疼的是64位的Linux是无网络状态,所以我想在github上下载源码到64位无网络状态下编译,是通过npm编译还是gcc其他什么工具进行编译 说的有点多有点乱求指点啊!
放项目放去一台同样的 64 位机器上,删除 node_modules 之后执行 npm install。然后再把整个项目拷去那个 64 位 linux 上。
npm 中的模块不是可以通过本地安装的么?
二进制文件需要重新编译。你可以去npm下载tgz包,再拷贝到目标机器上安装。
@fengxiaolong 你指的是通过与全局安装相对的本地安装还是说下载包本地编译?
@JacksonTian 到目标机器是通过node-gyp安装吗?为什么我执行node-gyp configure的时候 还会出现下载node的log
gyp info it worked if it ends with ok gyp info using node-gyp@1.0.1 gyp info using node@0.10.26 | linux | ia32 gyp http GET http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz gyp http 200 http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz
@dulante 设置 --disturl=http://localhost:8089/dist
你自己用node起个服务。node-gyp安装的时候需要去拿nodejs的源码。所以会去下载。你设置--disturl
更改地址,让他去本地拿就好。