【问题标题】:Hyperledger: Cannot find module grpc_node.node errorHyperledger:找不到模块 grpc_node.node 错误
【发布时间】:2018-09-23 20:09:54
【问题描述】:

当我尝试在 hyperledger 中运行enrollAdmin.js 时,我一直面临这个错误

Error: Cannot find module 'Downloads\Hyperledger\fabric-samples-release-1.2\fabcar\node_modules\fabric-client\node_modules\grpc\src\node\extension_binary\node-v64-win32-x64-unknown\grpc_node.node'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
at Function.Module._load (internal/modules/cjs/loader.js:507:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:20:18)
at Object.<anonymous> (Downloads\Hyperledger\fabric-samples-release-1.2\fabcar\node_modules\fabric-client\node_modules\grpc\src\grpc_extension.js:32:13)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)

我能够在我的文件目录中找到该文件,但由于某种原因,当我运行代码时无法找到该模块。

我已经多次运行 npm install 以及 npm install grpc,但这似乎并没有解决问题。请指教


我在文件上运行了第一个 npm install,这是 msg

Downloads\Hyperledger\fabric-samples-release-1.2\fabcar\node_modules\grpc\src\node\extension_binary>npm install
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
npm WARN deprecated hoek@2.16.3: The major version is no longer supported. Please update to 4.x or newer

> grpc@1.15.1 install Downloads\Hyperledger\fabric-samples-release-1.2\fabcar\node_modules\grpc
> node-pre-gyp install --fallback-to-build --library=static_library

node-pre-gyp WARN Using request for node-pre-gyp https download
[grpc] Success: "Downloads\Hyperledger\fabric-samples-release-1.2\fabcar\node_modules\grpc\src\node\extension_binary\node-v64-win32-x64-unknown\grpc_node.node" already installed
Pass --update-binary to reinstall or --build-from-source to recompile
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN The package lodash is included as both a dev and production dependency.

added 225 packages from 555 contributors and audited 655 packages in 62.783s
found 16 vulnerabilities (1 low, 14 moderate, 1 critical)
  run `npm audit fix` to fix them, or `npm audit` for details

之后我也进行了重建

文件 grpc_node.node 已创建,但找不到模块时遇到同样的错误。


更新 我意识到扩展参考是不同的

Downloads\Hyperledger\fabric-samples-release-1.2\fabcar\node_modules\fabric-client\node_modules\grpc\src\node\extension_binary\node-v64-win32-x64-unknown

因此重新运行 npm install 并遇到此错误

node-pre-gyp install --fallback-to-build --library=static_library

node-pre-gyp ERR! Tried to download(403): https://storage.googleapis.com/grpc-precompiled-binaries/node/grpc/v1.10.1/node-v64-win32-x64-unknown.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for grpc@1.10.1 and node@10.10.0 (node-v64 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp ERR! Pre-built binaries not installable for grpc@1.10.1 and node@10.10.0 (node-v64 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp ERR! Hit error Connection closed while downloading tarball file

【问题讨论】:

    标签: node.js docker npm hyperledger-fabric hyperledger


    【解决方案1】:

    您可以尝试以下步骤:

    1. 创建目录:&lt;FABCAR_DIR&gt;/node_modules/grpc/src/node/extension_binary/
    2. 中运行npm install
    3. 中运行npm rebuild

    步骤 2 或 3 - 其中一个应该可以解决问题 - 按照相同的顺序尝试。

    可以查看node_modules是否安装成功:

    [grpc] 成功:“/home/ms/fabric-samples-release-1.2/fabcar/node_modules/grpc/src/node/extension_binary/node-v59-linux-x64-glibc/grpc_node.node " 是通过远程安装的

    在第 2 步或第 3 步之后 - 您应该会看到一个文件。

    &lt;FABCAR_DIR&gt;/node_modules/grpc/src/node/extension_binary/node-v46-linux-x64-glibc/grpc_node.node

    之后,注册管理员应该会成功,例如:

    sprint@fabcar>nodeenrollAdmin.js 存储路径:/home/ms/fabric-samples-release-1.2/fabcar/hfc-key-store 成功注册管理员用户“admin” 将管理员用户分配给结构客户端 ::{"name":"admin","mspid":"Org1MSP","roles":null,"affiliation":"","enrollmentSecret":"","enrollment":{"signingIdentity": "42d8536072cf7e47358c137b254d78d8e853934caee70d03dbec06a22f482ad9","identity":{"certificate":"-----BEGIN CERTIFICATE-----}

    如果你仔细看,startFabric.sh 的输出会打印出来

    " 首先安装所需的包运行npm install 然后运行node enrollAdmin.js,然后运行node registerUser.js"

    【讨论】:

      【解决方案2】:

      似乎没有针对 Node 10 的预构建二进制文件。您可以切换到 Node8 或其他 Node 10 版本并重试吗?

      ERR! Pre-built binaries not found for grpc@1.10.1 and node@10.10.0

      【讨论】:

        猜你喜欢
        • 2018-06-24
        • 1970-01-01
        • 2018-12-30
        • 1970-01-01
        • 2016-12-20
        • 1970-01-01
        • 1970-01-01
        • 2021-01-20
        • 1970-01-01
        相关资源
        最近更新 更多