尝试使用docker-composer up命令设置锯齿形供应链,但是收到以下错误。在版本0.10.1的Windows 10笔记本电脑上运行。 我已经从https://github.com/hyperledger/sawtooth-supply-chain下载了文件,并按照readme.md文件进行设置。
当我查找文件'/sawtooth-supply-chain/ledger_sync/index.js'时,我得到一个javascript语法错误,代码为800A03EA,Source为Microsoft JScript编译错误。 有人可以帮忙吗?
`supply-ledger-sync | module.js:549
supply-ledger-sync | throw err;
supply-ledger-sync | ^
supply-ledger-sync |
supply-ledger-sync | Error: Cannot find module '/sawtooth-supply-chain/ledger_sync/index.js'
supply-ledger-sync | at Function.Module._resolveFilename (module.js:547:15)
supply-ledger-sync | at Function.Module._load (module.js:474:25)
supply-ledger-sync | at Function.Module.runMain (module.js:693:10)
supply-ledger-sync | at startup (bootstrap_node.js:188:16)
supply-ledger-sync | at bootstrap_node.js:609:3
supply-shell | npm ERR! path /sawtooth-supply-chain/asset_client/package.json
supply-shell | npm ERR! code ENOENT
supply-shell | npm ERR! errno -2
supply-shell | npm ERR! syscall open
supply-rethink | Listening for client driver connections on port 28015
supply-server | module.js:549
supply-server | throw err;
supply-server | ^
supply-server |
supply-server | Error: Cannot find module '/sawtooth-supply-chain/server/index.js'
supply-server | at Function.Module._resolveFilename (module.js:547:15)
supply-server | at Function.Module._load (module.js:474:25)
supply-server | at Function.Module.runMain (module.js:693:10)
supply-server | at startup (bootstrap_node.js:188:16)
supply-server | at bootstrap_node.js:609:3
supply-rethink | Listening for administrative HTTP connections on port 8080
supply-shell | npm ERR! enoent ENOENT: no such file or directory, open '/sawtooth-supply-chain/asset_client/package.json'
supply-shell | npm ERR! enoent This is related to npm not being able to find a file.
supply-shell | npm ERR! enoent'
/sawtooth-supply-chain/server/index.js中index.js中的代码如下:
/**
* Copyright 2017 Intel Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ----------------------------------------------------------------------------
*/
'use strict'
const express = require('express')
const db = require('./db')
const blockchain = require('./blockchain')
const protos = require('./blockchain/protos')
const api = require('./api')
const config = require('./system/config')
const PORT = config.PORT
const app = express()
Promise.all([
db.connect(),
protos.compile(),
blockchain.connect()
])
.then(() => {
app.use('/', api)
app.listen(PORT, () => {
console.log(`Supply Chain Server listening on port ${PORT}`)
})
})
.catch(err => console.error(err.message))
此致 Ganesh Bhat
答案 0 :(得分:0)
我不知道上面的解决方案,但是如果您安装了VirtualBox之类的VM,然后在VirtualBox中使用Docker和docker-compose运行Sawtooth,将会发现它容易得多。
答案 1 :(得分:0)