Hi i am trying to deploy my project i develop in Clojure to heroku. it created and build too but
when i write heroku open it gives error and logs saying missing build
You are using heroky "autodetect" and it's detecting your npm file and trying to start it as a npm project.
You need to specify to use clojure buildpack in somewhere inside heroku settings.
I recommend you to move into "docker mode" in heroku, that will give you more control about how to build/run your project.
Related
I wrote a program in VS Code for a Discord bot, and I am trying to run it in Heroku. I was using the Heroku CLI and navigated to the folder with the code in my Command Prompt (I'm on Windows). I tried to add and push my main code, but I got the error in the picture below.
How can I resolve this issue? I am using Windows and my code is in VS Code.
The error states that heroku is unable to determine the language of your project.
You should add a requirements.txt file with the python package names used in your project to allow heroku to detect it as a python project.
Other options include using a setup.py file or Pipfile.
You can also manually set the buildpack using
heroku buildpacks:set heroku/python
in the heroku CLI
For more information check the documentation
I'm working on a Drupal 8 site which is deployed on Heroku, how would I run Drush or Drupal commands on here? When I try it with the built in command line on the Heroku site it complains about MySQL not being present. Is it possible to run Drush or Drupal commands on Heroku? Could I run the commands locally but somehow connect to the Heroku boxes?
I got in touch with Heroku support and managed to resolve the problem, in order to install MySQL you have to use their buildpacks.
If you go to your App > Settings > Buildpacks section you can add https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku-community/apt.tgz which from what I understand allows you to install packages using an Aptfile in your repository.
Once that Buildpack has been added in the root of your code that's deployed to Heroku add a file named "Aptfile", no extension and add the following two lines to it:
mysql-common
mysql-client
I'm not sure if mysql-common is needed but mysql-client certainly is. Deploy this to your Heroku environment and you should be able to run Drush commands now, be sure to add that Buildpack before adding the Aptfile as adding the Buildpack only adds it on the next environment build which happens with a new commit.
Running Drush is pretty easy ones you've done this. To do it via the web interface click the "More" button near the top right of the screen when you're looking at your app in Heroku and select "Open Console" then enter bash in the new panel and click "Run". Now you should be able to run Drush commands from here.
If you want to run the from your local terminal use https://devcenter.heroku.com/articles/one-off-dynos#an-example-one-off-dyno in the Heroku CLI (which you'll have to install). You may have to use the --dyno or --app flags to run Drush in the correct place.
I've created a site using foundation sites. It's using the standard install using the Foundation CLI.
I've got the site running locally using foundation watch. When I push this to Heroku the build succeeds in the Heroku console but when I visit the site in a browser I only get an application error.
Heroku support has said I should be using $PORT in my startup script but I don't know where to configure this. This also seems strange as it's the first install.
Has anyone had similar problems?
Here are some of the issue i find in your app.
Firstly heroku is not going to install any of your devDependencies, so make sure all dependencies required to build are in dependencies list.
Heroku searches for Procfile, which is used to launch app. If it doesnt find that, it will go with standard procedure.
In your case
It runs npm start. Which calls gulp to run build, server and watch( which is not necessary ).
Second heroku assign PORT number dynamically. But your server task binds a static port number 8000 from config.yml. So that may fail your app.
You dont need to use foundation watch in heroku as watch mode of files are not needed
You are required to run a server and server your files
My advice is to use expressJS server( because i have used it ) after your done building your app with gulp
In your start script(package.json), you can write something like
"scripts": {
"start": "gulp && node server.js",
"build": "gulp build --production"
}
where server.js is expressjs server file. here's an example how you can write it.
Hope your problem will have less issues now.
Not to say about your github repo, but here are some points that might helpfull for you as well as for your clients/users or anybody.
Why you have uploaded all node_modules and bower_components to github. When you have their respective json file, anyone can do npm install or bower install to download all required packages.
Uploading node_modules and bower_components will be a headache for you as your push and clone size increases.
When I use the command heroku addons create:graphenedb --version v195. It gives error "No app specified , Run this command from an app folder or specify which app to use." I am new to Heroku and I do not understand which app folder it is talking about.
If you're not in your project folder or if it doesn't have a git remote to point it to Heroku you need to use the --app flag for the heroku command to specify the name of your app on Heroku
I'm testing an older package and it won't successfully run unless I boot Meteor with:
meteor --allow-incompatible-update
It's my intention to deploy this application to Heroku. I'm also using a buildpack to accomplish this: https://github.com/jordansissel/heroku-buildpack-meteor
How does one deploy an app to Heroku while passing in a flag/setting on the CLI?
You need to fork the buildpack and edit this line: https://github.com/jordansissel/heroku-buildpack-meteor/blob/master/bin/compile_meteor#L64
meteor build ../build --allow-incompatible-update --directory 2>&1 | indent
You can then use this fork as your buildpack.