Hyperledger composer-cli 错误 EACCESS

Hyperledger composer-cli error EACCESS

我开始按照这些说明在 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)

我该如何解决这个问题?非常感谢

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

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

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

您应该结合使用 ls -alchmodchown Linux 命令来调查和解决权限问题。

以上问题纯属权限问题,安装composer-cli时基本上v8.11.1这个文件夹是不同用户的,不是你的用户id。因此我们面临这个问题。 我们需要更改 v8.11.1 文件夹的所有者和组,如下所示。 导航到文件夹 v8.11.1 (/home/arnaud/.nvm/versions/node/v8.11.1),然后验证该文件夹是否为用户,组是否为您的用户 ID (arnaud)。 该文件夹肯定不属于 arnaud 用户和组。使用 chown 更改文件夹用户和组。