将完整的Javascript应用程序部署到Heroku时,出现以下错误:
Error: Cannot find module 'node-linux-x64/package.json'
还有一个语法错误,但我不认为这是原因。
我是Mac用户,所以我不确定发生了什么。我检查了语法错误,但一无所获。我也尝试卸载并重新安装Node等。
输出:
remote: -----> Installing dependencies
remote: Prebuild detected (node_modules already exists)
remote: Rebuilding any native modules
remote:
remote: > node@12.4.0 preinstall /tmp/build_133f585dc02170b5c24a22d3bb3002bd/node_modules/node
remote: > node installArchSpecificPackage
remote:
remote: /tmp/build_133f585dc02170b5c24a22d3bb3002bd/node_modules/node/node_modules/.bin/node: 1: /tmp/build_133f585dc02170b5c24a22d3bb3002bd/node_modules/node/node_modules/.bin/node: �����: not found
remote: /tmp/build_133f585dc02170b5c24a22d3bb3002bd/node_modules/node/node_modules/.bin/node: 41: /tmp/build_133f585dc02170b5c24a22d3bb3002bd/node_modules/node/node_modules/.bin/node: Syntax error: ")" unexpected
remote: internal/modules/cjs/loader.js:638
remote: throw err;
remote: ^
remote:
remote: Error: Cannot find module 'node-linux-x64/package.json'
remote: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
remote: at Function.resolve (internal/modules/cjs/helpers.js:33:19)
remote: at ChildProcess.<anonymous> (/tmp/build_133f585dc02170b5c24a22d3bb3002bd/node_modules/node-bin-setup/index.js:18:27)
remote: at ChildProcess.emit (events.js:198:13)
remote: at maybeClose (internal/child_process.js:982:16)
remote: at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
remote: npm ERR! code ELIFECYCLE
remote: npm ERR! errno 1
remote: npm ERR! node@12.4.0 preinstall: `node installArchSpecificPackage`
remote: npm ERR! Exit status 1
remote: npm ERR!
remote: npm ERR! Failed at the node@12.4.0 preinstall script.
remote: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
remote:
remote: npm ERR! A complete log of this run can be found in:
remote: npm ERR! /tmp/npmcache.nPBvI/_logs/2019-06-25T15_20_23_924Z-debug.log
remote:
remote: -----> Build failed
remote:
remote: We're sorry this build is failing! You can troubleshoot common issues here:
remote: https://devcenter.heroku.com/articles/troubleshooting-node-deploys
答案 0 :(得分:0)
不确定这是否行得通,但尝试将其添加到package.json:
"postinstall": "npm rebuild grpc --target=10.15.0 --target_arch=x64 --target_platform=linux --target_libc=glibc"
像这样
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"postinstall": "npm rebuild grpc --target=10.15.0 --target_arch=x64 --target_platform=linux --target_libc=glibc"
}
并重建您的项目 将“目标”更改为所需的节点版本
答案 1 :(得分:0)
我最终删除了我在package.json中安装的节点依赖项,它的工作原理很吸引人。谢谢你们的回答,希望这对遇到此问题的其他人有所帮助。