Unknown Technology

When pushing your app to Scalingo, you might get the following error:

<-- Start deployment of [my-app] -->
 !     We didn't find the type of technology your are using...
       We're sorry this build is failing!

       Refer to the documentation to find out why:
       http://doc.scalingo.com/deployment/unknown-technology

       If you can't find the issue in your application,
       please send us an email at support@scalingo.com

       <3,
       Scalingo
 !   Error deploying the application
 !   → Invalid return code from buildpack

Solutions

Project in a subdirectory of the Git repository

If the project you want to deploy is not at the root of your Git repository, you need to define the PROJECT_DIR environment variable (see documentation).

Technology detection

In order to detect the technology used by your application, we iterate over the technologies alphabetically. It means that if your project contains multiple technologies, we will pick the first one detected.

If you want to skip the detection phase and force the use of a specific buildpack, add the environment variable BUILDPACK_NAME to your project.

If you need to use multiple technologies you can use the multi-buildpacks.

You can also develop your own buildpack and add the environment variable BUILDPACK_URL to have complete control on the detection and build phases.

More information are available on buildpacks or multi-buildpacks.

Here is how we detect your technology:

Ruby

A Gemfile should be present at the root of your repository.

Node.js

The file package.json should be present at the root of the project.

Meteor

The directory .meteor should be present at the root of your project.

PHP

You need to have either an index.php file or both composer.json and composer.lock files at the root of your project.

Python

The file requirements.txt and setup.py should be present at the root of your project.

Java

The file pom.xml should be present at the root of your project.

Scala

You need to have at least an *.sbt file or a project/*.scala/.sbt/*.scala file or a project/build.properties file.

Groovy

The file grails-app must be at the root of your project.

Clojure

The file project.clj must be at the root of your project.

Go

You need to have at least one *.go file at the root of your project. Then, we detect the Go language and install any dependency with your Godeps directory (see more about Godeps).

Haskell

A file *.cabal must be at the root of your project.

Erlang

You need to have either a rebar.config file or a ebin file at the root of your project.

schedule 03 Nov 2015