Socket.io NPM install error specific to AWS Elastic Beanstalk - npm

It appears that socket.io is causing my an NPM install error on AWS Elastic Beanstalk.
I deploy to EB no problem. I add socket.io to my package.json and deploy to EB I get an error. I remove it and it passes again.
I add socket.io via npm i socket.io --save, and the lines that's added to package.json is "socket.io": "^2.0.4"
I am able to reliably cause this failure or repair the issue by simply removing the above line from package.json or adding it back in. Any ideas on what the culprit could be?
I'm using the same node version locally and on aws
It's hard to track down the specifics of the error but here is the output from eb-activity.log
Running npm install:
/opt/elasticbeanstalk/node-install/node-v6.11.5-linux-x64/bin/npm
Setting npm config jobs to 1 npm config jobs set to 1 Running npm
with --production flag Failed to run npm install. Snapshot logs for
more details. 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-v6.11.5-linux-x64/bin/npm',
'--production', 'install']' returned non-zero exit status 1
(Executor::NonZeroExitStatus)
[2018-01-19T20:30:59.814Z] INFO [3067] - [Application update
shippable.lowy-api-dev.develop.111#42/AppDeployStage0/AppDeployPreHook/50npm.sh]
: Activity failed. [2018-01-19T20:30:59.814Z] INFO [3067] -
[Application update
shippable.lowy-api-dev.develop.111#42/AppDeployStage0/AppDeployPreHook]
: Activity failed. [2018-01-19T20:30:59.814Z] INFO [3067] -
[Application update
shippable.lowy-api-dev.develop.111#42/AppDeployStage0] : Activity
failed.
I'm using node v 6.11.5 on Elastic Beanstalk and socket.io 2.0.4
Update; following the instructions from https://gist.github.com/jmar777/9281403 I SSH into my Elastic Beanstalk instance and manually run the npm install. Everything passes normally without error! The pre-install output is identical to the above error logs, but it runs just fine.
Why would I get that error when Elastic Beanstalk runs the install but not manually?

Related

how can i fix problem in run npm installation?

by launching the installation of npm in symfony 6, I would have this error:
Failed to remove some directories
code ERR_SSL_CIPHER_OPERATION_FAILED
Invalid response body while trying to fetch https://registry.npmjs.org/typescript: 18180000:error:1C800066:Provider routines:ossl_gcm_stream_update:cipher operation failed:c:\ws\deps\openssl\openssl\providers\implementations\ciphers\ciphercommon_gcm.c:320:
I ran this command: npm cache verify and and restart npm install i have thuis error: ERR_SSL_CIPHER_OPERATION_FAILED
68140000:error:1C800066:Provider routines:ossl_gcm_stream_update:cipher operation failed:c:\ws\deps\openssl\openssl\providers\implementations\ciphers\ciphercommon_gcm.c:320:

npm run production: Error: Cannot find module './Webpack4Cache'

I keep on getting this error every time I try to run npm run production on the freshly deployed laravel project:
Error: Cannot find module './Webpack4Cache'
I'm deploying to Ubuntu droplet - any idea how to resolve this issue?
CPU usage also goes over 100% when this npm script is running.

Unable to start hyperledger fabric network with hyperledger composer

I am currently working on HyperLedger composer v1.1 on Ubuntu Virtual Machine (16.04 LTS) hosted in remote server and using VMWare Vsphere client to connect to that host machine. My PC (Windows 7) and the hosting server are in the same LAN.
In fact, I am following the tutorial (https://hyperledger.github.io/composer/latest/tutorials/developer-tutorial).
I managed to install the chaincode onto the network but when I tried to start the business network using the command :
composer network start --networkName tutorial-network --networkVersion 0.0.1 --networkAdmin admin --networkAdminEnrollSecret adminpw --card PeerAdmin#hlfv1 --file networkadmin.card
I got this error :
✖ Starting business network definition. This may take a minute...
Error: Error trying to start business network. Error: No valid responses from any peers.
Response from attempted peer comms was an error: Error: 2 UNKNOWN: error starting container: Failed to generate platform-specific docker build: Error returned from build: 1 "npm ERR! code EAI_AGAIN
npm ERR! errno EAI_AGAIN
npm ERR! request to https://registry.npmjs.org/composer-runtime-hlfv1 failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org:443 ...."
Then, when I saw the suggestion of #PaulO'Mahony at "hyperledger-composer v1.1:unable to instantiate chaincode"
I tried to locate the npmrc file but it was not there then I did as #oligofren suggested at Node .npmrc file.
After that, I have executed this command :
composer network install --c PeerAdmin#hlfv1 --a tutorial-network#0.0.1.bna -o npmrcFile=/home/user1/.npmrc"
where ".npmrc" file is generated after I have logged in (using npm login).
Finally, when try to execute the above command "composer network start...." the same error is still exist !!!
Note that : I have executed "./stopFabric.sh", "./teardownFabric.sh" and then "./startFabric.sh" before I did each solution!

NPM not available when running installation script

I have an interesting issue, I have a setup or rails project and the deployment/upgrades works absolutely fine when running as a dedicated user (deploy) who is used to setup everything.
I am using codeDeploy to manage the deployments and it uses root user to do the deployment on AWS, but during the deployment it fails on running the same script because it's not able to find npm command
cd client && npm run build:client
sh: 1: npm: not found
rake aborted!
Command failed with status (127): [cd client && npm run build:client...]
If i run it manually to check that i also get nothing
root#ip-172-31-4-141:/home/ubuntu# su deploy -c "which npm"
root#ip-172-31-4-141:/home/ubuntu#
NPM is available via the deploy user but I am struggling to understand why it's not available via the root user
deploy#ip-172-31-4-141:/home/ubuntu$ which npm
/home/deploy/.nvm/versions/node/v7.8.0/bin/npm
Any help to get this resolved would be great.
Thanks,
The issue here was that AWS CodeDeploy when starts deployment loads only a minimum env; to load all the env variables I have exported the env and then in the deploy phase source that file, which resolves my issue

Error in starting hyperledger fabric network with hyperledger composer

I am trying to set up a network using hyper ledger composer, for which I followed the
Developer tutorial for creating a Hyperledger Composer solution
but when I use the command
composer network start --networkName tutorial-network --networkVersion
0.0.1 --networkAdmin admin --networkAdminEnrollSecret adminpw --card PeerAdmin#hlfv1 --file networkadmin.card
It is giving the following error :
Starting business network tutorial-network at version 0.0.1
Processing these Network Admins: userName: admin
✖ Starting business network definition. This may take a minute...
**Error: Error trying to start business network. Error: No valid responses from any peers.** Response from attempted peer comms was an error: **Error: 2 UNKNOWN: error starting container: Failed to generate platform-specific docker build: Error returned from build: 1 "npm ERR!** code EAI_AGAIN npm ERR! errno EAI_AGAIN npm ERR! request to https://registry.npmjs.org/composer-runtime-hlfv1 failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org:443
npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2018-04-10T10_10_13_361Z-debug.log " Command failed
I have tried tearing down the fabric and starting the fabric again but it didn't help.
Are you behind a proxy / firewall ? If so in the composer network install command you require a -o npmrcFile parameter, to resolve the NPM registry. eg registry=https://mycompanynpmregistry.com:4873 (or the resolved IP address) as in composer network install -c PeerAdmin#hlfv1 -a digitalproperty-network.bna -o npmrcFile=/tmp/npmrcFile . See https://hyperledger.github.io/composer/latest/managing/connector-information
If you are finding that you get a REQUEST_TIMEOUT on a start or upgrade request, you could try increasing the timeout of the fabric default for startup timeout.
If you are using our simple Hyperledger Composer development server environment from composer-tools github repo, then you can add the following to the peer definition to see if it addresses the problem:
CORE_CHAINCODE_STARTUPTIMEOUT=1200s
in the file ~/fabric-tools/fabric-scripts/hlfv11/composer/docker-compose.yml
eg, the above is a snippet from the peer definition. You would have to do a docker-compose stop - then docker-compose start from that directory location to take effect.
Footnote:
In addition to CORE_CHAINCODE_STARTUPTIMEOUT change above - you MUST ALSO UPDATE the timeout values to match (ie CORE_CHAINCODE_STARTUPTIMEOUT), in the connection.json file for the card(s) that performs the composer network start command (eg. PeerAdmin card in $HOME/.composer). You will see 4 timeouts (3 for a Peer and 1 for the Order) in the 'client' section, under the stanza "connection". By default, these are set to 300 seconds - Increase the value to 1200 for each. Do note that CORE_CHAINCODE_STARTUPTIMEOUT must have the 'trailing s' , whereas these 4 timeouts defined above - don't have this.
1) I had the same error while starting the network. This solution helped me: https://github.com/hyperledger/composer/issues/3591#issuecomment-386718739
It states the following:
There is an extra character when you copy the string from hyperledger
composer website.
Try copy pasting the following line to a notepad and paste in the
command line. It will work.
composer network start --networkName tutorial-network
--networkVersion 0.0.1 --networkAdmin admin --networkAdminEnrollSecret adminpw --card PeerAdmin#hlfv1 --file networkadmin.card
2) If it doesn't help, then try to kill any stale or active docker containers.
Run the following command to kill any stale or active containers:
docker rm -f $(docker ps -aq)
Clear any cached networks:
Press y when prompted by the command
docker network prune
Then, go to ~/fabric-dev-servers folder and run the commands:
cd ~/fabric-dev-servers
./teardownFabric.sh
./startFabric.sh
./createPeerAdminCard.sh
After that, run the composer network install command:
composer network start --networkName tutorial-network --networkVersion 0.0.1 --networkAdmin admin --networkAdminEnrollSecret adminpw --card PeerAdmin#hlfv1 --file networkadmin.card
I had same error, I found out that the pre-requisities that I have already installed in my system didnot matched the versions. So I uninstalled the pre-requisities and reinstalled them. In my case the version of docker was creating a problem.