Reaction Commerce Forums

Reaction Store Front Installation Error

#1

Creating reaction-next-starterkit_web_1_a03f49473843 … done
Attaching to reaction-next-starterkit_web_1_1457091e66ea
web_1_1457091e66ea | yarn install v1.12.3
web_1_1457091e66ea | [1/4] Resolving packages…
web_1_1457091e66ea | [2/4] Fetching packages…
web_1_1457091e66ea | error An unexpected error occurred: “https://registry.yarnpkg.com/@types/jss/-/jss-9.5.3.tgz: EACCES: permission denied, open ‘/home/node/.cache/yarn-offline-mirror/@types-jss-9.5.3.tgz’”.
web_1_1457091e66ea | info If you think this is a bug, please open a bug report with the information provided in “/usr/local/src/reaction-app/yarn-error.log”.
web_1_1457091e66ea | info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
reaction-next-starterkit_web_1_1457091e66ea exited with code 1

#2

Hi @adilsaeed31!

Here is a fix for this issue that was published by @janusreith on GitHub.

docker ps to find your container name, probably reaction-next-starterkit_web_1

docker inspect reaction-next-starterkit_web_1 | grep volume to find all relevant volumes

docker rm reaction-next-starterkit_web_1 <- If that fails run docker stop reaction-next-starterkit_web_1 , but it probably stopped already.

docker volume rm reaction-next-starterkit_node_modules reaction-next-starterkit_empty_node_modules reaction-next-starterkit_web-yarn to remove the volumes of that container, recheck that the names are the same for you, and you don’t end up deleting unrelated, possibly important volumes there.

Edit reaction-next-starterkit/docker-compose.yaml and comment the line under volumes starting with $HOME, so it becomes # - $HOME/.cache/yarn-offline-mirror:/home/node/.cache/yarn-offline-mirror
Run make start in reaction-platform, this will recreate reaction-next-starterkit_web_1

Hope this solves your issue!

1 Like
#3

yes, the starterkit container restart again .
but then exit again. :confounded:

Here are the logs.
[root@99ego reaction-next-starterkit]# docker-compose logs -f
Attaching to reaction-next-starterkit_web_1
web_1 | yarn install v1.12.3
web_1 | [1/4] Resolving packages…
web_1 | [2/4] Fetching packages…
web_1 | info fsevents@1.2.4: The platform “linux” is incompatible with this module.
web_1 | info “fsevents@1.2.4” is an optional dependency and failed compatibility check. Excluding it from installation.
web_1 | [3/4] Linking dependencies…
web_1 | warning " > react-tracking@5.4.1" has unmet peer dependency “babel-runtime@^6.20.0”.
dweb_1 | [4/4] Building fresh packages…
web_1 | warning Ignored scripts due to flag.
web_1 | Done in 127.32s.
web_1 | Creating hydra client…OK: hydra client created
web_1 | yarn run v1.12.3
web_1 | $ NODE_ENV=development node ./src/server.js
web_1 | [1:57:20 AM] Compiling server
web_1 | [1:57:23 AM] Compiling client
web_1 | > Using external babel configuration
web_1 | > Location: “/usr/local/src/reaction-app/.babelrc”
web_1 | (node:70) UnhandledPromiseRejectionWarning: Error: EACCES: permission denied, mkdir ‘/usr/local/src/reaction-app/build’
web_1 | at Object.mkdirSync (fs.js:753:3)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:71:13)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at Function.sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at /usr/local/src/node_modules/write-file-webpack-plugin/dist/WriteFileWebpackPlugin.js:192:26
web_1 | at /usr/local/src/node_modules/lodash/lodash.js:4925:15
web_1 | at baseForOwn (/usr/local/src/node_modules/lodash/lodash.js:3010:24)
web_1 | at /usr/local/src/node_modules/lodash/lodash.js:4894:18
web_1 | at Function.forEach (/usr/local/src/node_modules/lodash/lodash.js:9342:14)
web_1 | at handleAfterEmit (/usr/local/src/node_modules/write-file-webpack-plugin/dist/WriteFileWebpackPlugin.js:160:24)
web_1 | at _err1 (eval at create (/usr/local/src/node_modules/tapable/lib/HookCodeFactory.js:32:10), :26:1)
web_1 | at /usr/local/src/node_modules/next/dist/build/webpack/plugins/unlink-file-plugin.js:100:18
web_1 | (node:70) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
web_1 | (node:70) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
web_1 | (node:70) UnhandledPromiseRejectionWarning: Error: EACCES: permission denied, mkdir ‘/usr/local/src/reaction-app/build’
web_1 | at Object.mkdirSync (fs.js:753:3)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:71:13)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at Function.sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at /usr/local/src/node_modules/write-file-webpack-plugin/dist/WriteFileWebpackPlugin.js:192:26
web_1 | at /usr/local/src/node_modules/lodash/lodash.js:4925:15
web_1 | at baseForOwn (/usr/local/src/node_modules/lodash/lodash.js:3010:24)
web_1 | at /usr/local/src/node_modules/lodash/lodash.js:4894:18
web_1 | at Function.forEach (/usr/local/src/node_modules/lodash/lodash.js:9342:14)
web_1 | at handleAfterEmit (/usr/local/src/node_modules/write-file-webpack-plugin/dist/WriteFileWebpackPlugin.js:160:24)
web_1 | at _err1 (eval at create (/usr/local/src/node_modules/tapable/lib/HookCodeFactory.js:32:10), :26:1)
web_1 | at /usr/local/src/node_modules/next/dist/build/webpack/plugins/unlink-file-plugin.js:100:18
web_1 | (node:70) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
web_1 | Done in 11.47s.
reaction-next-starterkit_web_1 exited with code 0

#4

Did you try to do a make clean && make init?

#5

Hi loanlaux, I had the same issue. Problem solved after following your instructions. Thx

1 Like
#6

Hi!

I still have this error: Error: EACCES: permission denied, mkdir ‘/usr/local/src/reaction-app/build’

I followed your instructions @loanlaux but it did not fixed my issue.

I run the reaction platform on a centos 7 vps as root.

This is my log:
Attaching to reaction-next-starterkit_web_1
web_1 | yarn install v1.13.0
web_1 | [1/4] Resolving packages…
web_1 | [2/4] Fetching packages…
web_1 | info fsevents@1.2.4: The platform “linux” is incompatible with this module.
web_1 | info “fsevents@1.2.4” is an optional dependency and failed compatibility check. Excluding it from installation.
web_1 | [3/4] Linking dependencies…
web_1 | warning " > react-tracking@5.4.1" has unmet peer dependency “babel-runtime@^6.20.0”.
web_1 | [4/4] Building fresh packages…
web_1 | warning Ignored scripts due to flag.
web_1 | Done in 68.06s.
web_1 | Creating hydra client…OK: hydra client created
web_1 | yarn run v1.13.0
web_1 | $ NODE_ENV=development node ./src/server.js
web_1 | [2:20:39 PM] Compiling server
web_1 | [2:20:43 PM] Compiling client
web_1 | > Using external babel configuration
web_1 | > Location: “/usr/local/src/reaction-app/.babelrc”
web_1 | (node:70) UnhandledPromiseRejectionWarning: Error: EACCES: permission denied, mkdir ‘/usr/local/src/reaction-app/build’
web_1 | at Object.mkdirSync (fs.js:753:3)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:71:13)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at Function.sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at /usr/local/src/node_modules/write-file-webpack-plugin/dist/WriteFileWebpackPlugin.js:192:26
web_1 | at /usr/local/src/node_modules/lodash/lodash.js:4925:15
web_1 | at baseForOwn (/usr/local/src/node_modules/lodash/lodash.js:3010:24)
web_1 | at /usr/local/src/node_modules/lodash/lodash.js:4894:18
web_1 | at Function.forEach (/usr/local/src/node_modules/lodash/lodash.js:9342:14)
web_1 | at handleAfterEmit (/usr/local/src/node_modules/write-file-webpack-plugin/dist/WriteFileWebpackPlugin.js:160:24)
web_1 | at _err1 (eval at create (/usr/local/src/node_modules/tapable/lib/HookCodeFactory.js:32:10), :26:1)
web_1 | at /usr/local/src/node_modules/next/dist/build/webpack/plugins/unlink-file-plugin.js:100:18
web_1 | (node:70) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
web_1 | (node:70) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
web_1 | (node:70) UnhandledPromiseRejectionWarning: Error: EACCES: permission denied, mkdir ‘/usr/local/src/reaction-app/build’
web_1 | at Object.mkdirSync (fs.js:753:3)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:71:13)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at Function.sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at /usr/local/src/node_modules/write-file-webpack-plugin/dist/WriteFileWebpackPlugin.js:192:26
web_1 | at /usr/local/src/node_modules/lodash/lodash.js:4925:15
web_1 | at baseForOwn (/usr/local/src/node_modules/lodash/lodash.js:3010:24)
web_1 | at /usr/local/src/node_modules/lodash/lodash.js:4894:18
web_1 | at Function.forEach (/usr/local/src/node_modules/lodash/lodash.js:9342:14)
web_1 | at handleAfterEmit (/usr/local/src/node_modules/write-file-webpack-plugin/dist/WriteFileWebpackPlugin.js:160:24)
web_1 | at _err1 (eval at create (/usr/local/src/node_modules/tapable/lib/HookCodeFactory.js:32:10), :26:1)
web_1 | at /usr/local/src/node_modules/next/dist/build/webpack/plugins/unlink-file-plugin.js:100:18
web_1 | (node:70) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
web_1 | Done in 15.09s.
reaction-next-starterkit_web_1 exited with code 0

#7

Hi,

I followed loanlaux procedure that solve the yarn EACCES error.

But now I have also the Error: EACCES: permission denied, mkdir ‘/usr/local/src/reaction-app/build’

Node: 10.15.3
NPM: 6.4.1
Reaction CLI: 0.29.0
Docker: 18.09.3

Here are the logs :

web_1 | (node:70) UnhandledPromiseRejectionWarning: Error: EACCES: permission denied, mkdir ‘/usr/local/src/reaction-app/build’
web_1 | at Object.mkdirSync (fs.js:752:3)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:71:13)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at Function.sync (/usr/local/src/node_modules/mkdirp/index.js:77:24)
web_1 | at /usr/local/src/node_modules/write-file-webpack-plugin/dist/WriteFileWebpackPlugin.js:192:26
web_1 | at /usr/local/src/node_modules/lodash/lodash.js:4911:15
web_1 | at baseForOwn (/usr/local/src/node_modules/lodash/lodash.js:2996:24)
web_1 | at /usr/local/src/node_modules/lodash/lodash.js:4880:18
web_1 | at Function.forEach (/usr/local/src/node_modules/lodash/lodash.js:9344:14)
web_1 | at handleAfterEmit (/usr/local/src/node_modules/write-file-webpack-plugin/dist/WriteFileWebpackPlugin.js:160:24)
web_1 | at _err1 (eval at create (/usr/local/src/node_modules/tapable/lib/HookCodeFactory.js:32:10), :26:1)
web_1 | at /usr/local/src/node_modules/next/dist/build/webpack/plugins/unlink-file-plugin.js:100:18
web_1 | (node:70) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
web_1 | Done in 29.74s.
reaction-next-starterkit_web_1 exited with code 0

#8

Hi all,
pb fixed !! :smile:

You need to reinstall and run Make with the “default user” created during ubuntu installation.

Docker defaults to the first non-priviledged user (UID 1000). If you run make with another user it will create directories writable by you, not by the user the docker container is using.

@loanlaux fix is still needed but after installation go to the end.

see discution for further explantations :

#9

I’ve managed to work around this using a technique described in this SO answer based on the redis docker image.

Instead of chmoding everything to the node user, I just change the node user’s uid to the host user.