昨天(2/6/19)我用web3@1.0.0-beta-41推送了一个node.js react with DApp,成功了,从今天早上开始,当我尝试推送相同的代码时,它出现了
web3@1.0.0-beta.42 安装后配置C:\软件开发\软件开发-03\客户端\节点模块\web3
节点angular-patch.js模块.js:549抛出错误;^错误:无法找到模块'C:\BaandaDev\baandadev-03\client\node_modules\web3\angular-patch.js'(请忽略baanda...这些是我的目录名,但错误是从节点模块出现的)
为什么它要查找web3@1.0.0-beta.42,而我甚至没有请求它?
我已经把版本降到web3@1.0.0.beta-37了,heroku还在找beta.42的角补丁(我甚至都不用角补丁),最糟糕的是...昨天还能用。
我唯一能想到的是,以太坊昨天发布了web3@1.0.0-beta.42。但是,这并不能解释为什么Heroku会为其他东西寻找补丁。
有趣的是,当我使用heroku git:clone -a baandadev 03-t2将在heroku中运行的文件克隆到本地机器上,然后运行npm install在本地机器上重新替换它时,它会在本地机器上引发同样的问题,但是,如果我手动使用npm i --保存webe3@1.0.0-beta.41,它的部署会很顺利。
怀疑:npm安装(从package.json安装节点模块的泛型在web 3中不知何故被破坏了)。这就是为什么它在heroku和本地都被破坏了。但是,这只是一个怀疑。$ git push heroku master
(而且heroku应该把它推进去,不去找我不要求的模块)。
1条答案
按热度按时间sd2nnvve1#
很可能是因为web 3的npm正在崩溃。他们(web 3)web1.0.0-beta.40在3天内发布了www.example.com到43的版本。但是,我也意识到通用的npm安装,用于从package.json生成节点模块(node.js),在web 3的两端都崩溃了。在heroku中,当他们试图生成节点模块时,在push之后。而且,当我从heroku中克隆版本到我自己的笔记本电脑中时,它在同一个地方哭(当在web 3创建节点模块时)。两个地方都在寻找它找不到的Angular 库(我不知道他们为什么要这样做-一个bug?)。而且,即使我指定了低得多的web 3版本,它仍然在寻找它在过去从未做过的。
我已经报告了这个bug,希望他们能尽快修复它。我从我的应用程序中删除了所有web 3引用,它进入heroku很好很好。但是,当应用程序依赖于智能合约时,这就不好了...对吗:)?