[英]Hyperledger composer-cli error EACCESS
I'm starting to build an app on Hyperledger Composer following these instructions. 按照这些说明,我开始在Hyperledger Composer上构建应用程序。
When I run : 当我跑步时:
$ npm install -g composer-cli
the package is correctly installed here : /home/arnaud/.nvm/versions/node/v8.11.1/bin/composer
该软件包已正确安装在此处:
/home/arnaud/.nvm/versions/node/v8.11.1/bin/composer
However when I try to run composer --version
I have the following error EACCESS : 但是,当我尝试运行
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; ^
$ 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)
$ 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)
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)
How could I solve this problem ? 我该如何解决这个问题? Many thanks
非常感谢
The above issue purely a permission issue, while installing composer-cli basically the folder v8.11.1 is own by different users, ie other than your user id. 上面的问题纯粹是一个权限问题,在安装composer-cli时,基本上v8.11.1文件夹是由其他用户拥有的,即您的用户ID以外的其他用户。 Hence we are facing this issue.
因此,我们面临这个问题。 We need to change the owner and group of the v8.11.1 folder as follows.
我们需要如下更改v8.11.1文件夹的所有者和组。 Navigat to the folder v8.11.1 (/home/arnaud/.nvm/versions/node/v8.11.1) and then verify whether the folder is user and group are your user id (arnaud).
导航到文件夹v8.11.1(/home/arnaud/.nvm/versions/node/v8.11.1),然后验证该文件夹是否为user和group是您的用户ID(arnaud)。 Surely the folder was not own by arnaud user and group.
当然,该文件夹不是arnaud用户和组拥有的。 Change the folder user and group by using chown.
使用chown更改文件夹用户和组。
the logging error as RThatcher describes below - its trying to write to a logfile and part of that is to create the logs
directory, but it doesn't have permissions. RThatcher在下面描述的日志记录错误-它试图写入日志文件,其中一部分是创建
logs
目录,但是它没有权限。 Did you previously do an install of Composer with 'sudo' ? 您以前是否使用'sudo'安装了Composer? what does
ls -al /home/arnaud/.composer/*
show (who owns the directories). ls -al /home/arnaud/.composer/*
显示什么(谁拥有目录)。 I ask, because its strange that you can write everywhere else under your home directory (as you'd expect to, as arnaud) . 我问,因为这很奇怪,您可以在主目录下的其他任何地方编写(正如您期望的那样,作为arnaud)。 Assuming of course, that you are running the
composer --version
command above, while logged in as 'arnaud' and not as another user? 当然假设您正在运行上面的
composer --version
命令,但以“ arnaud”身份登录,而不是以其他用户身份登录?
Error: EACCES: permission denied, mkdir '/home/arnaud/.composer/logs'
This is the core error suggesting that you don't have permissions to create the logs folder on the /home/arnaud/.composer folder or that you do not have the rights to create the .composer folder in the /home/arnaud/ folder. 这是核心错误,表明您无权在/home/arnaud/.composer文件夹中创建日志文件夹,或者您无权在/ home / arnaud /文件夹中创建.composer文件夹。 。
You should use a combination of ls -al
, chmod
and possibly chown
Linux commands to investigate and resolve the permissions problem. 您应该结合使用
ls -al
, chmod
和可能的chown
Linux命令来调查和解决权限问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.