Ошибка Hyperledger composer-cli 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)

Как я мог решить эту проблему? Большое спасибо


person Arnaud Carrere    schedule 27.04.2018    source источник
comment
Скорее всего, в какой-то момент вы запустили composer с помощью команды sudo, которая создала эти начальные каталоги, теперь вы правильно не используете sudo. Как предложено ниже, вы можете использовать chown/chmod для исправления или просто для очистки, вы можете просто выполнить sudo rm -fr ~/.composer, чтобы очистить каталог .composer (который является вашим хранилищем карт) и начать заново.   -  person david_k    schedule 27.04.2018
comment
Да, Давид, ты решил проблему! спасибоууу   -  person Arnaud Carrere    schedule 27.04.2018


Ответы (3)


ошибка ведения журнала, как описывает Р. Тэтчер ниже, - это попытка записи в файл журнала, и часть этого заключается в создании каталога logs, но у него нет разрешений. Вы ранее устанавливали Composer с помощью «sudo»? что показывает ls -al /home/arnaud/.composer/* (кому принадлежат каталоги). Я спрашиваю, потому что странно, что вы можете писать где угодно в своем домашнем каталоге (как и следовало ожидать, как Арно). Предполагая, конечно, что вы используете приведенную выше команду composer --version, войдя в систему как «arnaud», а не как другой пользователь?

person Paul O'Mahony    schedule 27.04.2018
comment
Спасибо, Пол! NVM уже был моим менеджером версий для Node. Как вы рекомендовали, я установил version 8.9.4 (8.9.5 был недоступен) и следовал рекомендациям по вашей ссылке. - person Arnaud Carrere; 27.04.2018
comment
Теперь о вашем третьем пункте: да, я сделал ошибку и впервые установил композитор с помощью sudo. Вот ответ для `ls -al /home/arnaud/.composer/*' : -rw-r--r-- 1 root root 799 avril 24 15:12 /home/arnaud/.composer/keys.dev. pub -rw-r--r-- 1 root root 799 avril 24 15:12 /home/arnaud/.composer/keys.tags.pub /home/arnaud/.composer/cache: всего 12 drwxr-xr-x 2 корень корень 4096 аврил 26 10:25 . drwxr-xr-x 3 root root 4096 avril 26 10:25 .. -rw-r--r-- 1 root root 13 avril 26 10:25 .htaccess - person Arnaud Carrere; 27.04.2018
comment
привет, Арно, спасибо, я отредактировал свой первоначальный ответ, так как ясно, что сейчас это связано только с разрешениями. На самом деле Node 8.11.x должен поддерживаться (поэтому удалены комментарии к этому биту). - так что делайте как предложил david_k выше - person Paul O'Mahony; 27.04.2018
comment
Проблема решена с помощью sudo rm -fr ~/.composer - person Arnaud Carrere; 27.04.2018

Вышеупомянутая проблема связана исключительно с разрешением, при установке composer-cli в основном папка v8.11.1 принадлежит разным пользователям, то есть не вашему идентификатору пользователя. Поэтому мы столкнулись с этой проблемой. Нам нужно изменить владельца и группу папки v8.11.1 следующим образом. Перейдите в папку v8.11.1 (/home/arnaud/.nvm/versions/node/v8.11.1), а затем проверьте, является ли папка пользователем и группой вашим идентификатором пользователя (arnaud). Конечно, папка не принадлежала пользователю и группе Arnaud. Измените пользователя и группу папки с помощью chown.

person user2385937    schedule 27.07.2019

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

Это основная ошибка, предполагающая, что у вас нет прав на создание папки журналов в папке /home/arnaud/.composer или у вас нет прав на создание папки .composer в папке /home/arnaud/. .

Вы должны использовать комбинацию ls -al , chmod и, возможно, chown команд Linux для исследования и решения проблемы с разрешениями.

person R Thatcher    schedule 27.04.2018
comment
Спасибо, проблема с sudo rm -fr ~/.composer решена. - person Arnaud Carrere; 27.04.2018