推送到 Heroku 时出错:找不到模块“node-linux-x64/package.json”
Posted
技术标签:
【中文标题】推送到 Heroku 时出错:找不到模块“node-linux-x64/package.json”【英文标题】:Error while pushing to Heroku: Cannot find module 'node-linux-x64/package.json' 【发布时间】:2019-11-07 11:51:50 【问题描述】:将全栈 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
【问题讨论】:
删除nodes_modules
文件夹并从 npm i
重新开始
@davmich 仍然抛出错误:/ 太令人沮丧了 - 谢谢你的回复,希望我能在不花太多时间的情况下解决这个问题
试试这个:***.com/questions/16151018/…,因为它可能是npm
的问题。
供参考:github.com/kentcdodds/react-testing-workshop/issues/2(这家伙也有同样的问题)
@davmich 我现在要去看看那个链接!好找到兄弟
【参考方案1】:
我最终删除了我在 package.json 中安装的节点依赖项,它就像一个魅力。感谢大家的回答,希望这对遇到此问题的其他人有所帮助。
【讨论】:
【参考方案2】:不确定这是否可行,但请尝试将其添加到您的 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"
并重建您的项目 将“目标”更改为您想要的节点版本
【讨论】:
我在删除node_modules的同时尝试了这个,但仍然无济于事,仍然出现同样的错误 我想感谢你的帮助,非常感谢 在花费了将近 5 个小时并尝试了所有可能的点击和试用后,这终于让我在我的 ubuntu 16 上将节点升级到所需的版本以上是关于推送到 Heroku 时出错:找不到模块“node-linux-x64/package.json”的主要内容,如果未能解决你的问题,请参考以下文章
isBlank() 在本地工作,但是在推送到 heroku 时:找不到符号
rails 应用程序在 heroku 上找不到 fontawesome 图标
Mongodb atlas + node.js 在本地工作,但在推送到 Heroku 时停止
将具有 node_modules 的本地 Node.js 项目 Git 存储库推送到 Heroku 时,本地 node_modules 是不是会覆盖 Heroku 上的那些?