恐慌:如果缺少则尝试创建目录时出错:mkdir /var/hyperledger:权限被拒绝

panic: Error while trying to create dir if missing: mkdir /var/hyperledger: permission denied

我正在按照本指南进行操作 https://github.com/ITPeople-Blockchain/auction 在 make native 命令之后,我执行下一个命令 ./orderer 但我收到以下错误:

panic: Error while trying to create dir if missing: mkdir /var/hyperledger: permission denied

shell 日志:

2017-07-06 14:50:11.556 CEST [orderer/main] main -> INFO 001 Starting orderer: Version: 1.0.0-rc2-snapshot-a0afe19a Go version: go1.8.3 OS/Arch: linux/amd64 panic: Error while trying to create dir if missing: mkdir /var/hyperledger: permission denied

goroutine 1 [running]: github.com/hyperledger/fabric/common/ledger/util/leveldbhelper.(*DB).Open(0xc42034b480) /home/user/work/src/github.com/hyperledger/fabric/common/ledger/util/leveldbhelper/leveldb_helper.go:84 +0x315 github.com/hyperledger/fabric/common/ledger/util/leveldbhelper.NewProvider(0xc4203583c0, 0xc4203583c0) /home/user/work/src/github.com/hyperledger/fabric/common/ledger/util/leveldbhelper/leveldb_provider.go:40 +0x11b github.com/hyperledger/fabric/common/ledger/blkstorage/fsblkstorage.NewProvider(0xc420355da0, 0xc420355dc0, 0xc4203583a0, 0xc420167c50) /home/user/work/src/github.com/hyperledger/fabric/common/ledger/blkstorage/fsblkstorage/fs_blockstore_provider.go:34 +0x85 github.com/hyperledger/fabric/orderer/ledger/file.New(0xc4201ee480, 0x23, 0x2, 0x2) /home/user/work/src/github.com/hyperledger/fabric/orderer/ledger/file/factory.go:75 +0xf7 main.createLedgerFactory(0xc4201c06c0, 0x870ad0, 0xc4200ec8c0, 0xc42033e6c0, 0x0) /home/user/work/src/github.com/hyperledger/fabric/orderer/util.go:42 +0x2c3 main.initializeMultiChainManager(0xc4201c06c0, 0x11a18a0, 0x11f2e40, 0xc4201d45d0, 0x1) /home/user/work/src/github.com/hyperledger/fabric/orderer/main.go:207 +0x43 main.main() /home/user/work/src/github.com/hyperledger/fabric/orderer/main.go:75 +0x37f

尝试:

sudo mkdir -p /var/hyperledger/production
sudo chown -R $(whoami):$(whoami) /var/hyperledger

您可以将 core.yaml 中的 fileSystemPath 从“/var/hyperledger/production”更改为不需要 sudo 权限的地方。如“/tmp/hyperledger/production”