Hyperledger composer-cli错误EACCESS

时间:2018-04-27 16:41:06

标签: node.js hyperledger-fabric hyperledger hyperledger-composer

我开始按照这些说明在Hyperledger Composer上构建应用程序。

当我跑步时:

$ npm install -g composer-cli

包正确安装在这里: /home/arnaud/.nvm/versions/node/v8.11.1/bin/composer

但是当我尝试运行composer --version时,我遇到以下错误EACCESS:

$ composer --version /home/arnaud/.nvm/versions/node/v8.11.1/lib/node_modules/composer-cli/node_modules/mkdirp/index.js:90 throw err0; ^ Error: EACCES: permission denied, mkdir '/home/arnaud/.composer/logs' at Object.fs.mkdirSync (fs.js:885:18) at Function.sync (/home/arnaud/.nvm/versions/node/v8.11.1/lib/node_modules/composer-cli/node_modules/mkdirp/index.js:71:13) at Object.exports.getLogger (/home/arnaud/.nvm/versions/node/v8.11.1/lib/node_modules/composer-cli/node_modules/composer-common/lib/log/winstonInjector.js:76:20) at Function._loadLogger (/home/arnaud/.nvm/versions/node/v8.11.1/lib/node_modules/composer-cli/node_modules/composer-common/lib/log/logger.js:633:25) at Function._setupLog (/home/arnaud/.nvm/versions/node/v8.11.1/lib/node_modules/composer-cli/node_modules/composer-common/lib/log/logger.js:531:30) at Function.getLog (/home/arnaud/.nvm/versions/node/v8.11.1/lib/node_modules/composer-cli/node_modules/composer-common/lib/log/logger.js:508:20) at Object.<anonymous> (/home/arnaud/.nvm/versions/node/v8.11.1/lib/node_modules/composer-cli/node_modules/composer-common/lib/businessnetworkmetadata.js:18:20) at Module._compile (module.js:652:30) at Object.Module._extensions..js (module.js:663:10) at Module.load (module.js:565:32)

我怎么能解决这个问题?非常感谢

3 个答案:

答案 0 :(得分:1)

上述问题纯粹是一个权限问题,而在安装composer-cli时,基本上v8.11.1文件夹是由其他用户拥有的,即您的用户ID以外的其他用户。因此,我们面临这个问题。 我们需要如下更改v8.11.1文件夹的所有者和组。 导航到文件夹v8.11.1(/home/arnaud/.nvm/versions/node/v8.11.1),然后验证该文件夹是否为user和group是您的用户ID(arnaud)。 当然,该文件夹不是arnaud用户和组拥有的。使用chown更改文件夹用户和组。

答案 1 :(得分:0)

RThatcher描述的日志记录错误 - 它试图写入日志文件,其中一部分是创建logs目录,但它没有权限。您之前是否使用'sudo'安装了Composer? ls -al /home/arnaud/.composer/*显示什么(谁拥有目录)。我问,因为奇怪的是你可以在你的主目录下的其他地方写(正如你所期望的那样,作为arnaud)。当然,假设您正在运行上面的composer --version命令,同时以“arnaud”身份登录而不是以其他用户身份登录?

答案 2 :(得分:0)

Error: EACCES: permission denied, mkdir '/home/arnaud/.composer/logs'

这是核心错误,表明您无权在/home/arnaud/.composer文件夹中创建logs文件夹,或者您无权在/ home /中创建.composer文件夹arnaud /文件夹。

您应该使用ls -alchmod和可能chown Linux命令的组合来调查和解决权限问题。