Error deploying to Google App Engine - google-app-engine

This is the error I get in the logs when deploying a RUBY app.
ERROR
Finished Step #1 Step #1: The command '/bin/sh -c bundle install
--deployment --without="development test" && rbenv rehash' returned a non-zero code: 18

Going off of the little info you provided and a similar issue I encountered, I'm thinking you were deploying a Rails app in a flex environment. Check out how it decides which Ruby version to use: https://cloud.google.com/appengine/docs/flexible/ruby/runtime. It may help to create a .ruby-version file in your app's root directory as specified. In my case, I specified the wrong version in my .ruby-version file: it didn't match up with the version in my Gemfile, so it gave me this error message:
Step #1: Step 14/17 : RUN bundle install --deployment --without="development test" && rbenv rehash
Step #1: ---> Running in <some random hash>
Step #1: Your Ruby version is 2.4.1, but your Gemfile specified 2.5.5
Step #1: The command '/bin/sh -c bundle install --deployment --without="development test" && rbenv rehash' returned a non-zero code: 18

Did you try bundle update. It's working for me

Related

React Native setting.gradle solved

Starting a Gradle Daemon, 1 stopped Daemon could not be reused, use --status for details
FAILURE: Build failed with an exception.
* What went wrong:
Could not open settings generic class cache for settings file '/home/dharmendra/Documents/gitlab/rnative/AwesomeProject/android/settings.gradle' (/home/dharmendra/.gradle/caches/7.5.1/scripts/6hrksilieebwgbc2tk6l5h8hd).
> BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 63
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 30s
error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081
FAILURE: Build failed with an exception.
* What went wrong:
Could not open settings generic class cache for settings file '/home/dharmendra/Documents/gitlab/rnative/AwesomeProject/android/settings.gradle' (/home/dharmendra/.gradle/caches/7.5.1/scripts/6hrksilieebwgbc2tk6l5h8hd).
I resolved this problem final only change JAVA Version 18 Use in java of version
Check java -version :- if showing 19.x.x then change java version 18.x.x install.
follow the step :
sudo apt update
sudo apt install -y openjdk-18-jdk
sudo apt install -y openjdk-18-jre
then run your project
npx react-native start && npx react-native run-android
.............................

extJs 7.0.0 Community Edition - install docs not working

I'm on mac.
Following the guide here: https://docs.sencha.com/extjs/7.0.0-CE/guides/getting_started/mobile_desktop_application/getting_started_with_npm.html
I signed up for to the community edition, received the mail, created my sencha.myget.org account, and did the following commands successfully in a terminal:
step 1: login to npm repo
npm login --registry=https://sencha.myget.org/F/community/npm/ --scope=#sencha
step 2: install app generator cli
npm install -g #sencha/ext-gen
step 3: generate the app
ext-gen app -a
Now step 4 (run the new application) is where I have a problem:
cd my-app
npm start
Gives me this error:
If I open the log I can see the exception message:
/Users//Desktop/test/extjs/my-app/node_modules/#sencha/cmd/dist/plugin.xml:378: The following error occurred while executing this line:
/Users/me/Desktop/test/extjs/my-app/build.xml:15: Unable to create javax script engine for javascript
What am I doing wrong?
So this is how I did it on mac 10.14.
Ok, so reading about javax, apparently it was used in java se8 (https://docs.oracle.com/javase/8/docs/api/javax/script/ScriptEngine.html).
So, I downloaded it using this website: https://adoptopenjdk.net/,
and more precisely this page: https://adoptium.net/?variant=openjdk8.
Once downloaded, I had multiple versions of java installed on my computer and so I had to switch to that one.
So I learned how to switch to any java versions.
First to display the existing versions, type this in the terminal:
/usr/libexec/java_home -V
Then to change version:
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
(notice that for the version number you just type the first two digits, not the whole version number )
To check that it worked:
java -version
Once java 1.8 (apparently that's the version name for jdk8) was running, the npm start command worked without errors.
You need to downgrade Java to any version less than 15, because the Nashorn JavaScript Engine had been removed, which it depends upon. Downgrading Java as far as version 8 probably isn't the optimum (in particular, when also using it for Java development).

Fail to deploy node on Elastic Beanstalk : The command '/bin/sh -c npm install' returned a non-zero code: 1

I am using elastic beanstalk from AWS to deploy and host a react application using Docker.
The deployment fails mysteriously, even though I succeed building the Docker image on my local machine.
An inspection to the logs on the EC2 instance (using eb ssh) does not provide more explanation that this:
--------------------------------
/var/log/eb-commandprocessor.log
--------------------------------
Step 5/14 : COPY package.json /usr/src/app/package.json
---> Using cache
---> f06f2c9d6519
Step 6/14 : RUN npm install
---> Running in 9926fc11431f
The command '/bin/sh -c npm install' returned a non-zero code: 1
Failed to build Docker image aws_beanstalk/staging-app: 2c9d6519
I even tried to run the npm install command inside the last layer of the built container using
sudo docker commit 9926fc11431f test && docker run -it test bash
cd /path/to/wordir
npm install
But the return code is actually 0
Is there any other way this could fail and logs return me wrong errors ?
I'm writing this answer for any future people which come by this. If there is no NPM error message. The issue is memory exhaustion there are two ways to resolve this on Beanstalk specifically:
Use a machine with more memory (instead of say a t2.micro)
(recommended) Switch to yarn. Yarn uses much less memory than npm.
Figure out some other way to reduce your memory footprint
This issue gave me a lot of headache so I hope this helps future folks who come across this issue.

GAE deployment failing

I'm using GAE for a Laravel PHP site and using flex instances. I've always had no problem doing a "gcloud app deploy" to get my app deployed. However, for the last 24 hours or so when I attempt to deploy I get the following error:
Step #1: Package manifest generated successfully.
Step #1: > chmod -R 755 bootstrap/cache
Step #1: > php artisan cache:clear
Step #1:
Step #1: In AbstractConnection.php line 155:
Step #1:
Step #1: Connection timed out [tcp://1.2.3.4:6379]
Step #1:
Step #1:
Step #1: Script php artisan cache:clear handling the post-install-cmd event returned with error code 1
Step #1: The command '/bin/sh -c /build-scripts/composer.sh' returned a non-zero code: 1
Finished Step #1
ERROR
ERROR: build step 1 "gcr.io/cloud-builders/docker#sha256:12345" failed: exit status 1
Step #1:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ERROR: (gcloud.app.deploy) Cloud build failed. Check logs at https://console.cloud.google.com/gcr/builds/12345?project=1234 Failure status: UNKNOWN: Error Response: [2] Build failed; check build logs for details
I have a Memorystore (redis) instance I use since GAE memcache isn't available on flex instances yet. My app uses redis as a cache, so as you can see above, once the new code is deployed composer is configured to clear the cache, which is where it's timing out and failing.
If I SSH into an existing instance, I can run php artisan cache:clear no problem. However, it's failing on deploy. It's a pretty simple code change that's only UI tweaks (html/javascript) so none of the redis or connection code has changed.
Any ideas?

exec: "gcc": executable file not found in $PATH

I'm having an issue where an App Engine project will no longer build remotely (via gcloud app deploy)
This has started out of the blue, with no code changes at this end. Not sure if relevant, but it's a go 1.9 project deploying to the App Engine Flex environment.
I'm not sure how to test this in the same environment as the build, since the error is coming from Google's Container Registry
Here is the log from the Container Registry console
starting build "73f85b4d-7370-41bd-bbb2-bcf42fc38873"
FETCHSOURCE
Fetching storage object: gs://staging.[project].appspot.com/us.gcr.io/[project]/appengine/default.1ed3c690ead06f27aa651a30fab342611:latest#1531698266413753
Copying gs://staging.[project].appspot.com/us.gcr.io/[project]/appengine/default.1ed3c690ead49f731806f27aa630fab342611:latest#1531698266413753...
Operation completed over 1 objects/1.7 MiB.
BUILD
Starting Step #0
Step #0: Pulling image: gcr.io/gcp-runtimes/go1-builder#sha256:c62ac3fbec31ddec70601d6c5b44d07063bcff6a823bdcf5e0bbaa9d3799d1db
Step #0: sha256:c62ac3fbec31ddec70601d6c5b44d07063bcff6a823bdcf5e0bbaa9d3799d1db: Pulling from gcp-runtimes/go1-builder
Step #0: Digest: sha256:c62ac3fbec31ddec70601d6c5b44d07063bcff6a823bdcf5e0bbaa9d3799d1db
Step #0: Status: Downloaded newer image for gcr.io/gcp-runtimes/go1-builder#sha256:c62ac3fbec31ddec70601d6c5b44d07063bcff6a823bdcf5e0bbaa9d3799d1db
Step #0: exec: "gcc": executable file not found in $PATH Finished
Step #0 ERROR ERROR: build step 0 "gcr.io/gcp-runtimes/go1-builder#sha256:c62ac3fbec31ddec70601d6c5b44d07063bcff6a823bdcf5e0bbaa9d3799d1db" failed: exit status 2
It looks like you are using container gcr.io/gcp-runtimes/go1-builder as your build step. Looking at the source in GitHub, I see that there have been no updates since ~late June. I see in the Dockerfile that the base image in the FROM directive is gcr.io/google-appengine/debian9:latest, and a look at that image reveals no gcc installed. I see no step in the Dockerfile installing gcc, and looking at your build step image confirms that it isn't there:
~$ docker run --rm -t -i --entrypoint /bin/bash gcr.io/gcp-runtimes/go1-builder#sha256:c62ac3fbec31ddec70601d6c5b44d07063bcff6a823bdcf5e0bbaa9d3799d1db -- which gcc
Unable to find image 'gcr.io/gcp-runtimes/go1-builder#sha256:c62ac3fbec31ddec70601d6c5b44d07063bcff6a823bdcf5e0bbaa9d3799d1db' locally
sha256:c62ac3fbec31ddec70601d6c5b44d07063bcff6a823bdcf5e0bbaa9d3799d1db: Pulling from gcp-runtimes/go1-builder
e154cec6816f: Pull complete
<pulls elided>
Digest: sha256:c62ac3fbec31ddec70601d6c5b44d07063bcff6a823bdcf5e0bbaa9d3799d1db
Status: Downloaded newer image for gcr.io/gcp-runtimes/go1-builder#sha256:c62ac3fbec31ddec70601d6c5b44d07063bcff6a823bdcf5e0bbaa9d3799d1db
~$
Perhaps an earlier version of the base debian9 image had it installed, you could dig into history to look. But it looks like there is no recent change to the go1-builder image to remove gcc.
If you need gcc, you can always separate building your app from deploying it. Build with your own cloudbuild.yaml via gcloud container builds submit and then deploy the built container using gcloud app deploy --image-url=... With full control over the build, you can always based on the go-builder image and install additional tooling you need like gcc on top of that before using Docker to build your final app container.

Resources