node.js - 为什么 Heroku 告诉我当我执行 heroku 推送时它在我的模块中找不到 package.json
问题描述
我从 react-coverflow 的一个分支创建了自己的 npm 包。它似乎在我的应用程序中以这种方式在本地运行良好:“npm install react-coverflow-mod”--save。
我可以在 VsCode 中使用“运行调试 (F5)”来运行我的应用程序,并在客户端文件夹上使用 npm start 来启动 React 前端。
然后我在客户端文件夹上做了一个 npm run build,它工作得很好。
当我执行 heroku push 时,每次都会失败并出现以下错误:
npm ERR! code ENOLOCAL
npm ERR! Could not install from "../../react-coverflow-mod"
as it does not contain a package.json file.
1.我知道模块中有一个package.json,因为我可以通过“npm install react-coverflow-mod”安装它:https ://www.npmjs.com/package/react-coverflow-mod
2.安装的模块里面有一个package.json文件
3.我的github repo里面有一个package.json: https ://github.com/leroyvaughan/react-coverflow
我不确定如何解决这个问题。我是否需要 package.json 才能进入 /Dist 文件夹?Heroku 有什么问题。
解决方案
它看起来像 heroku 尝试从相对路径而不是发布的名称安装包。这将完美地解释为什么您可以在本地运行但不能在生产环境中运行。
打开您的项目并搜索日志中显示的确切字符串:"../../react-coverflow-mod"
您应该能够快速找到它的位置。
如果您在 unix 系统上运行(不了解 windows),您可以使用 grep 进行搜索:
grep -rnw '/path/to/somewhere/' -e '../../react-coverflow-mod'
确保它包含您的根文件夹,其中包含package.json
,并且我们可能明智地忽略 node_modules
它总是很大的。
推荐阅读
- mysql - 连接具有可变表名的表
- git - 尽管更改是远程进行的,但 Git 说是最新的
- phpmyadmin - 尽管将 $cfg['Servers'][$i]['auth_type'] 更改为从 cookie 配置,phpmyadmin 仍不允许创建数据库
- angular - Angular 7 Clarifai api“全局未在 Object../node_modules/clarifai/dist/index.js 中定义”
- dart - 如何阻止 Firestore 事务重试
- asp.net-mvc - 找不到文件或目录
- java - 如何在java中编写Szudzik的函数
- packer - 如何在打包器中加载常用的 bash 脚本
- java - 在真实设备上顺时针旋转活动的问题
- javascript - 如何将我本地的 webhook 连接到 dialogflow?