节点-V57-Linux的X64/grpc_node.node失踪
问题描述:
以下时正好下列步骤操作:节点-V57-Linux的X64/grpc_node.node失踪
https://firebase.google.com/docs/admin/setup
和部署到我的服务器,我得到这个错误:
2017-10-16 19:19:56 4199bf47fc2d ---> Starting app
2017-10-16 19:19:56 4199bf47fc2d Detected server.js file
2017-10-16 19:19:57 4199bf47fc2d module.js:529
2017-10-16 19:19:57 4199bf47fc2d throw err;
2017-10-16 19:19:57 4199bf47fc2d ^
2017-10-16 19:19:57 4199bf47fc2d
2017-10-16 19:19:57 4199bf47fc2d Error: Cannot find module '/data/app/node_modules/firebase-admin/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64/grpc_node.node'
2017-10-16 19:19:57 4199bf47fc2d at Function.Module._resolveFilename (module.js:527:15)
2017-10-16 19:19:57 4199bf47fc2d at Function.Module._load (module.js:476:23)
2017-10-16 19:19:57 4199bf47fc2d at Module.require (module.js:568:17)
2017-10-16 19:19:57 4199bf47fc2d at require (internal/module.js:11:18)
2017-10-16 19:19:57 4199bf47fc2d at Object.<anonymous> (/data/app/node_modules/firebase-admin/node_modules/grpc/src/node/src/grpc_extension.js:30:15)
2017-10-16 19:19:57 4199bf47fc2d at Module._compile (module.js:624:30)
2017-10-16 19:19:57 4199bf47fc2d at Object.Module._extensions..js (module.js:635:10)
2017-10-16 19:19:57 4199bf47fc2d at Module.load (module.js:545:32)
2017-10-16 19:19:57 4199bf47fc2d at tryModuleLoad (module.js:508:12)
2017-10-16 19:19:57 4199bf47fc2d at Function.Module._load (module.js:500:3)
这是安装在一个新的文件夹,最新的npm和所有,删除node_modules映射重新安装,npm安装--unsafe-perm,npm重建等没有工作。为什么不安装模块?
答
我刚碰到同样的问题。对于我们来说,问题在于我们在mac上安装了节点模块,并且firebase-admin的安装正在为该二进制文件添加一个特定于平台的文件。
运行安装此目录检查后,我看到这一点:
$ ls node_modules/firebase-admin/node_modules/grpc/src/node/extension_binary/
node-v48-darwin-x64
但在运行兰巴环境正在寻找:
node-v48-linux-x64
一个简单的方法是运行故宫安装在使用docker运行lambda的环境中。在我们的例子中,我发现lambci项目已经为这个确切的用例预建了docker容器。在这里,我增加了一个NPM脚本行来处理构建:
"scripts": {
"package": "rm -rf node_modules && docker run -v $PWD:/var/task -w /var/task lambci/lambda:build-nodejs6.10 npm install"
},
我真的越来越frustated> NoKey
它不适合我!我仍然得到'无法找到模块'/ tmp/fbfn_284TLWMJRfpLbZI/node_modules/firebase-admin/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64/grpc_node.node'如果有人正在将docker卷挂载到容器,而不是将容器安装在如下容器中:'docker run -it -v /var/run/docker.sock:/var/run/docker.sock -v/usr/bin/docker:/ usr/bin/docker ubuntu:最新的bash“,那么他们必须在'$ PWD'的地方给主机文件路径,因为docker是从主机而不是容器运行的。 – Phani