ds300 / ds300/patch-package

patch-package fails on aws beanstalk

Open
#169 2 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
TypeScript
Stars
11.2k
Forks
325
PR merge metrics
No merged PRs in 30d

Description

Beanstalk does not change into the project directory when doing an npm install. The project folder gets passed as an parameter. As patch-package does lookup the package.json in the current directory, the postinstall process fails.

command is:
```
"/opt/elasticbeanstalk/node-install/node-v10.16.0-linux-x64/bin/node" "/opt/elasticbeanstalk/node-install/node-v10.16.0-linux-x64/bin/npm" "install" "/tmp/deployment/application"
```

in the logs there is something like this:
```
[2019-09-06T12:16:05.350Z] INFO [16468] - [Configuration update code-pipeline-1567079712160-nmg2-backend-api-dev-build-8da46fc9-75a1-4e86-989e-21f65f908e20@129/ConfigDeployStage0/ConfigDeployPreHook/50npm.sh] : Starting activity...
[2019-09-06T12:16:17.600Z] INFO [16468] - [Configuration update code-pipeline-1567079712160-nmg2-backend-api-dev-build-8da46fc9-75a1-4e86-989e-21f65f908e20@129/ConfigDeployStage0/ConfigDeployPreHook/50npm.sh] : Activity execution failed, because: + /opt/elasticbeanstalk/containerfiles/ebnode.py --action npm-install

> backend-api@2.5.6 postinstall /tmp/deployment/application
> patch-package

internal/modules/cjs/loader.js:638
throw err;
^

Error: Cannot find module './package.json'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:690:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object. (/tmp/deployment/application/node_modules/.bin/patch-package:4:13)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! backend-api@2.5.6 postinstall: `patch-package`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the backend-api@2.5.6 postinstall 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! /tmp/.npm/_logs/2019-09-06T12_16_17_488Z-debug.log
Running npm install: /opt/elasticbeanstalk/node-install/node-v10.16.0-linux-x64/bin/npm
Setting npm config jobs to 1
npm config jobs set to 1
Running npm without --production flag
Failed to run npm install. Snapshot logs for more details.
UTC 2019/09/06 12:16:17 cannot find application npm debug log at /tmp/deployment/application/npm-debug.log

Traceback (most recent call last):
File "/opt/elasticbeanstalk/containerfiles/ebnode.py", line 695, in
main()
File "/opt/elasticbeanstalk/containerfiles/ebnode.py", line 677, in main
node_version_manager.run_npm_install(options.app_path)
File "/opt/elasticbeanstalk/containerfiles/ebnode.py", line 136, in run_npm_install
self.npm_install(bin_path, self.config_manager.get_container_config('app_staging_dir'))
File "/opt/elasticbeanstalk/containerfiles/ebnode.py", line 180, in npm_install
raise e
subprocess.CalledProcessError: Command '['/opt/elasticbeanstalk/node-install/node-v10.16.0-linux-x64/bin/npm', 'install']' returned non-zero exit status 1 (ElasticBeanstalk::ExternalInvocationError)
caused by: + /opt/elasticbeanstalk/containerfiles/ebnode.py --action npm-install

> backend-api@2.5.6 postinstall /tmp/deployment/application
> patch-package

internal/modules/cjs/loader.js:638
throw err;
^

Error: Cannot find module './package.json'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:690:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object. (/tmp/deployment/application/node_modules/.bin/patch-package:4:13)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! backend-api@2.5.6 postinstall: `patch-package`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the backend-api@2.5.6 postinstall 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! /tmp/.npm/_logs/2019-09-06T12_16_17_488Z-debug.log
Running npm install: /opt/elasticbeanstalk/node-install/node-v10.16.0-linux-x64/bin/npm
Setting npm config jobs to 1
npm config jobs set to 1
Running npm without --production flag
Failed to run npm install. Snapshot logs for more details.
UTC 2019/09/06 12:16:17 cannot find application npm debug log at /tmp/deployment/application/npm-debug.log
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.