无法在Fabcar示例中找到注册管理员所需的模块-Hyperledger Fabric

时间:2020-02-25 01:44:19

标签: node.js docker hyperledger-fabric hyperledger

我对Hyperledger架构和StackOverflow也很陌生。我正在尝试在Hyperledger上试验fabcar示例-https://hyperledger-fabric.readthedocs.io/en/release-1.4/write_first_app.html。但是,我无法继续注册管理员。

发行后

npm install
node enrollAdmin.js

在fabcar / javascript目录中,我遇到了错误

internal/modules/cjs/loader.js:985
  throw err;
  ^

Error: Cannot find module './utils.js'
Require stack:
- /b/workspace/fabric-samples/fabcar/javascript/node_modules/fabric-ca-client/lib/FabricCAServices.js
- /b/workspace/fabric-samples/fabcar/javascript/node_modules/fabric-ca-client/index.js
- /b/workspace/fabric-samples/fabcar/javascript/enrollAdmin.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:982:15)
    at Function.Module._load (internal/modules/cjs/loader.js:864:27)
    at Module.require (internal/modules/cjs/loader.js:1044:19)
    at require (internal/modules/cjs/helpers.js:77:18)
    at Object.<anonymous> (/b/workspace/fabric-samples/fabcar/javascript/node_modules/fabric-ca-client/lib/FabricCAServices.js:10:15)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
    at Function.Module._load (internal/modules/cjs/loader.js:901:14)
    at Module.require (internal/modules/cjs/loader.js:1044:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/b/workspace/fabric-samples/fabcar/javascript/node_modules/fabric-ca-client/lib/FabricCAServices.js',
    '/b/workspace/fabric-samples/fabcar/javascript/node_modules/fabric-ca-client/index.js',
    '/b/workspace/fabric-samples/fabcar/javascript/enrollAdmin.js'
  ]
}

我不确定这是否是架构客户端和fabric-ca-client之间的单个采购问题。我尝试卸载并重新安装nodejs和npm。我还尝试了修剪所有docker映像,网络,卷并从头开始。

这是package.json供参考:

{
    "name": "fabcar",
    "version": "1.0.0",
    "description": "FabCar application implemented in JavaScript",
    "engines": {
        "node": ">=8",
        "npm": ">=5"
    },
    "scripts": {
        "lint": "eslint .",
        "pretest": "npm run lint",
        "test": "nyc mocha --recursive"
    },
    "engineStrict": true,
    "author": "Hyperledger",
    "license": "Apache-2.0",
    "dependencies": {
        "fabric-ca-client": "~1.4.0",
        "fabric-network": "~1.4.0"
    },
    "devDependencies": {
        "chai": "^4.2.0",
        "eslint": "^5.9.0",
        "mocha": "^5.2.0",
        "nyc": "^13.1.0",
        "sinon": "^7.1.1",
        "sinon-chai": "^3.3.0"
    },
    "nyc": {
        "exclude": [
            "coverage/**",
            "test/**"
        ],
        "reporter": [
            "text-summary",
            "html"
        ],
        "all": true,
        "check-coverage": true,
        "statements": 100,
        "branches": 100,
        "functions": 100,
        "lines": 100
    }
}

有人可以帮我找出我可能在这里想念的东西吗?

环境详细信息:

适用于Linux的Windows子系统上的Ubuntu

Node js版本:v12.16.1

npm版本:6.13.4

Docker撰写版本:docker-compose版本1.22.0,构建f46880fe

Docker版本:Docker版本19.03.6,内部版本369ce74a3c

结构二进制文件:1.4.0

2 个答案:

答案 0 :(得分:0)

新的“ fabric-ca-client”软件包存在一些问题。一些小的更新更改了依赖关系。 因此,工作版本为:"fabric-ca-client": "1.4.0"

我删除了波浪号(〜)以下载确切的版本,其余依赖项及其版本相同。

答案 1 :(得分:0)

我也遇到了这个问题。现在,我正在按照此过程进行解决。

步骤:1 。检查结构的本地版本。我使用的是1.4.6。

命令:

curl https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh | bash -s -- 1.4.6 1.4.6 0.4.18

步骤:2

cd fabric-samples/first-networks

步骤:3 :检查此版本是否正常。

./byfn.sh generate

步骤:4

 ./byfn.sh up

步骤:5 现在关闭网络。

 ./byfn.sh down

检查上述所有过程后,您可以启动fabcar项目。

我成功导入了我的 admin user1 身份。

希望它会为您提供帮助:)