首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NodeJS eth-lightwallet不允许在子模块之间使用不同的bitcore-lib版本

NodeJS eth-lightwallet不允许在子模块之间使用不同的bitcore-lib版本
EN

Stack Overflow用户
提问于 2017-10-30 16:12:16
回答 3查看 292关注 0票数 0

模块eth-lightwallet及其依赖项在bitcore-lib版本保护中有一些问题。我注意到其中一些版本是0.15和0.14。你有解决这个问题的办法吗?我收到的错误如下所示。

代码语言:javascript
复制
(function (exports, require, module, __filename, __dirname) { var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"]

Error: More than one instance of bitcore-lib found. Please make sure to require bitcore-lib and check that submodules do not also include their own bitcore-lib dependency.
    at Object.bitcore.versionGuard (\GitHub\X\node_modules\eth-lightwallet\node_modules\bitcore-mnemonic\node_modules\bitcore-lib\index.js:12:11)
    at Object.<anonymous> (\GitHub\X\node_modules\eth-lightwallet\node_modules\bitcore-mnemonic\node_modules\bitcore-lib\index.js:15:9)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (\GitHub\X\node_modules\eth-lightwallet\node_modules\bitcore-mnemonic\lib\mnemonic.js:3:15)

Process finished with exit code 7`
EN

回答 3

Stack Overflow用户

发布于 2019-02-27 04:16:03

完全验证解决方案

在主文件中,将_bitcore In 全局设置为在每次检索其值时返回undefined。除了在 _bitcore -lib中保护版本之外,bitcore不用于任何其他用途。

代码语言:javascript
复制
Object.defineProperty(global, '_bitcore', {
get(){
    return undefined
},
set(){}
})
票数 1
EN

Stack Overflow用户

发布于 2017-10-30 18:57:54

这里提供的解决方案适用于我: bitpay/bitcore#1454

嗯,这远不是解决这个问题的正确方法,但是您可以通过编辑文件来消除这个错误

~/.nvm/versions/node/v4.8.3/lib/node_modules/bitcore/node_modules/insight-api/node_modules/bitcore-lib/index.js

第7行: bitcore.versionGuard =函数(版本){将其更改为: bitcore.versionGuard =函数(版本){ return;

我这样做了,到目前为止没有任何问题。

票数 0
EN

Stack Overflow用户

发布于 2019-07-16 16:37:42

此错误会导致版本冲突。我通过更改版本修复了这个错误

^0.15.0提供的bitcore-libbitcore-mnemonic/bitcore-lib

(其中bitcore-mnemonic/bitcore-lib^0.16.0)。

然后再次使用npm install

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47010584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档