kentcdodds / kentcdodds/nps-utils

concurrent + yarn : ENOTEMPTY dir not empty npm-lodash...

Open
#19 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
98
Forks
22
PR merge metrics
No merged PRs in 30d

Description

When I run my setup script in circle ci using npm-utils' `concurrent` to `yarn` 3 directories at once it fails. Changing concurrent to series and it passes.

I think this maybe the same issue: https://github.com/yarnpkg/yarn/issues/2531#issuecomment-297130086
and according to that link it's resolved by:
```
concurrently -r -k \"yarn run db\" \"yarn run dev\"
```

**Here's the log:**

```
$ npm start setup

> typescript-react-asteroid-meteor@1.0.0 start /home/ubuntu/web-admin
> nps "setup"

nps is executing `setup` : nps scrub.yarn && nps setup.all
nps is executing `scrub.yarn` : yarn cache clean
yarn cache v0.27.5
⠁ ⠂ ⠄ ⡀ ⢀ ⠠ ⠐ ⠈ ⠁ ⠂ ⠄ ⡀ ⢀ success Cleared cache.
Done in 1.47s.
nps is executing `setup.all` : node node_modules/concurrently/src/main.js --kill-others-on-fail --prefix-colors "bgBlue.bold,bgMagenta.bold,bgGreen.bold" --prefix "[{name}]" --names "setup.meta,setup.client,setup.server" 'nps setup.meta' 'nps setup.client' 'nps setup.server'
[setup.meta] nps is executing `setup.meta` : yarn
[setup.client] nps is executing `setup.client` : cd www && cd client && yarn add -E asteroid@2.0.3
[setup.server] nps is executing `setup.server` : cd www && cd server && yarn
[setup.client] yarn add v0.27.5
[setup.meta] yarn install v0.27.5
[setup.client] [1/4] Resolving packages...
[setup.server] yarn install v0.27.5
[setup.meta] [1/4] Resolving packages...
[setup.server] [1/4] Resolving packages...
[setup.meta] success Already up-to-date.
[setup.meta] Done in 1.44s.
[setup.meta] nps setup.meta exited with code 0
[setup.server] [2/4] Fetching packages...
[setup.client] [2/4] Fetching packages...

[setup.client] error An unexpected error occurred: "ENOTEMPTY: directory not empty, rmdir '/home/ubuntu/.cache/yarn/v1/npm-lodash-4.17.4-78203a4d1c328ae1d86dca6460e369b57f4055ae'".
[setup.client] info If you think this is a bug, please open a bug report with the information provided in "/home/ubuntu/web-admin/www/client/yarn-error.log".
[setup.client] info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
[setup.client] The script called "setup.client" which runs "cd www && cd client && yarn add -E asteroid@2.0.3" failed with exit code 1 https://github.com/kentcdodds/nps/blob/v5.7.0/other/ERRORS_AND_WARNINGS.md#failed-with-exit-code
[setup.client] nps setup.client exited with code 1
--> Sending SIGTERM to other processes..

[setup.server] nps setup.server exited with code null
The script called "setup.all" which runs "node node_modules/concurrently/src/main.js --kill-others-on-fail --prefix-colors "bgBlue.bold,bgMagenta.bold,bgGreen.bold" --prefix "[{name}]" --names "setup.meta,setup.client,setup.server" 'nps setup.meta' 'nps setup.client' 'nps setup.server'" failed with exit code 1 https://github.com/kentcdodds/nps/blob/v5.7.0/other/ERRORS_AND_WARNINGS.md#failed-with-exit-code
The script called "setup" which runs "nps scrub.yarn && nps setup.all" failed with exit code 1 https://github.com/kentcdodds/nps/blob/v5.7.0/other/ERRORS_AND_WARNINGS.md#failed-with-exit-code
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! typescript-react-asteroid-meteor@1.0.0 start: `nps "setup"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the typescript-react-asteroid-meteor@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/ubuntu/.npm/_logs/2017-08-18T22_51_38_094Z-debug.log

npm start setup returned exit code 1

Action failed: npm start setup
```

Contributor guide

Open the contributing guide

Research direction

Reproduce the failure by running the three Yarn commands concurrently, then compare it with the passing serial setup. Start at the mentioned concurrently entry point, node_modules/concurrently/src/main.js, and review the linked Yarn issue. Done means the concurrency interaction is confirmed with a focused regression test or its limitation and workaround are documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
cli, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.