Skip to content
Advertisement

EACES permission denied when trying to launch an installed Symfony “Akeneo PIM” with Docker

I started my first internship on monday and I’m working on a PIM created by Akeneo, which is build using Symfony. They have a nice guide to install it on their website and I figured i’d learn docker too. Here are the instructions i followed so far : https://docs.akeneo.com/latest/install_pim/docker/installation_docker.html

I just didn’t configure my package manager before installing because after searching I didn’t really find how or where to do that. (the section where they talk about the default values of yarn and composer).

The install didn’t work if I didn’t sudo, same for the “make dev”.

Here are the error messages for the make dev :

make dependencies
make[1]: Entering directory '/mnt/c/Users/Yvesa/pim'
docker-compose run -u www-data --rm php php -d memory_limit=4G /usr/local/bin/composer update
Creating pim_php_run ... done
Cannot create cache directory /var/www/.composer/cache/repo/https---repo.packagist.org/, or directory is not writable. Proceeding without cache
Cannot create cache directory /var/www/.composer/cache/files/, or directory is not writable. Proceeding without cache
Cannot create cache directory /var/www/.composer/cache/repo/https---flex.symfony.com/, or directory is not writable. Proceeding without cache
Loading composer repositories with package information
Updating dependencies
Cannot create cache directory /var/www/.composer/cache/repo/https---repo.packagist.org/, or directory is not writable. Proceeding without cacheNothing to modify in lock file
Installing dependencies from lock file (including require-dev)
Nothing to install, update or remove
Package doctrine/doctrine-cache-bundle is abandoned, you should avoid using it. No replacement was suggested. Package doctrine/reflection is abandoned, you should avoid using it. Use roave/better-reflection instead.
Package symfony/inflector is abandoned, you should avoid using it. Use use `EnglishInflector` from the String component instead instead.
Package twig/extensions is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files
composer/package-versions-deprecated: Generating version class...
composer/package-versions-deprecated: ...done generating version class
76 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Symfony recipes are disabled: "symfony/flex" not found in the root composer.json

> bash vendor/akeneo/pim-community-dev/std-build/install-required-files.sh
src/ directory already exists. Not preparing the directory content.
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 docker-compose run -u node --rm -e YARN_REGISTRY -e PUPPETEER_SKIP_CHROMIUM_DOWNLOAD node yarn install
Creating pim_node_run ... done
yarn install v1.22.5
error An unexpected error occurred: "EACCES: permission denied, mkdir '/home/node/.yarn/v6'".
info If you think this is a bug, please open a bug report with the information provided in "/srv/pim/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
ERROR: 1
make[1]: *** [Makefile:21: node_modules] Error 1
make[1]: Leaving directory '/mnt/c/Users/Yvesa/pim'
make: *** [Makefile:74: dev] Error 2
❯ Cannot create cache directory /var/www/.composer/cache/repo/https---repo.packagist.org/, or directory is not writable. Proceeding without cache
❯ code ~/.zshrc
^[[A^C
❯ cd ~/
❯ sudo chmod -R 777 .cache
❯ z /mnt/c/Users/Yvesa/pim
❯ sudo make dev
make dependencies
make[1]: Entering directory '/mnt/c/Users/Yvesa/pim'
docker-compose run -u www-data --rm php php -d memory_limit=4G /usr/local/bin/composer update
Creating pim_php_run ... done
Cannot create cache directory /var/www/.composer/cache/repo/https---repo.packagist.org/, or directory is not writable. Proceeding without cache
Cannot create cache directory /var/www/.composer/cache/files/, or directory is not writable. Proceeding without cache
Cannot create cache directory /var/www/.composer/cache/repo/https---flex.symfony.com/, or directory is not writable. Proceeding without cache
Loading composer repositories with package information
Updating dependencies
Nothing to modify in lock file
Installing dependencies from lock file (including require-dev)
Nothing to install, update or remove
Package doctrine/doctrine-cache-bundle is abandoned, you should avoid using it. No replacement was suggested. Package doctrine/reflection is abandoned, you should avoid using it. Use roave/better-reflection instead.
Package symfony/inflector is abandoned, you should avoid using it. Use use `EnglishInflector` from the String component instead instead.
Package twig/extensions is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files
composer/package-versions-deprecated: Generating version class...
composer/package-versions-deprecated: ...done generating version class
76 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Symfony recipes are disabled: "symfony/flex" not found in the root composer.json

> bash vendor/akeneo/pim-community-dev/std-build/install-required-files.sh
src/ directory already exists. Not preparing the directory content.
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 docker-compose run -u node --rm -e YARN_REGISTRY -e PUPPETEER_SKIP_CHROMIUM_DOWNLOAD node yarn install
Creating pim_node_run ... done
yarn install v1.22.5
error An unexpected error occurred: "EACCES: permission denied, mkdir '/home/node/.yarn/v6'".
info If you think this is a bug, please open a bug report with the information provided in "/srv/pim/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
ERROR: 1
make[1]: *** [Makefile:21: node_modules] Error 1
make[1]: Leaving directory '/mnt/c/Users/Yvesa/pim'
make: *** [Makefile:74: dev] Error 2
❯ "EACCES: permission denied, mkdir '/home/node/.yarn/v6'"

I found someone with a similar problem than me, and he fixed his problem because his .config file in his root directory had the wrong permissions (sudo instead of username), so I chown and changed it, and it now has my username permissions, and I also chmod 777 .cache, but it didn’t seem to help.

I’m really new at this, and I’d really like to get my own development environmnent to practice learning php connectors, REST api calls and all the stuff I need this symfony / akeneo / docker environment for…

I know it’s a big one but if anybody can help that would be such a huge relief, thanks a lot !

Advertisement

Answer

Maybe you allready figured it out by your self but for the record:

When running

docker-compose run node ls -lah /home/node

you see that .yarn has root ownership. You can change it by running:

docker-compose run -u root node chown -R node:node /home/node/.yarn

After that you should be able to run make properly.

User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement