java.net.BindException: Permission denied Run via gradlew - gradle

I'm deploying uaa(https://github.com/cloudfoundry/uaa) to Openshift using DIY catridge. On executing gradlew run, I'm getting the following error:
remote: + '[' '!' -d /var/lib/openshift/54bd541be0b8cdd48e0001f0/app-root/data//gradle-2.2.1 ']'
remote: + cd /var/lib/openshift/54bd541be0b8cdd48e0001f0/app-root/runtime/repo/
remote: + export GRADLE_OPTS=-Dorg.gradle.bindaddress=127.3.86.1
remote: + GRADLE_OPTS=-Dorg.gradle.bindaddress=127.3.86.1
remote: + export GRADLE_USER_HOME=/var/lib/openshift/54bd541be0b8cdd48e0001f0/app-root/data//gradle
remote: + GRADLE_USER_HOME=/var/lib/openshift/54bd541be0b8cdd48e0001f0/app-root/data//gradle
remote: + export GRADLE_HOME=/var/lib/openshift/54bd541be0b8cdd48e0001f0/app-root/data//gradle-2.2.1
remote: + GRADLE_HOME=/var/lib/openshift/54bd541be0b8cdd48e0001f0/app-root/data//gradle-2.2.1
remote: + export PATH=/var/lib/openshift/54bd541be0b8cdd48e0001f0/app-root/data//gradle-2.2.1/bin:/bin:/usr/bin:/usr/sbin
remote: + PATH=/var/lib/openshift/54bd541be0b8cdd48e0001f0/app-root/data//gradle-2.2.1/bin:/bin:/usr/bin:/usr/sbin
remote: + ./gradlew run --stacktrace
remote:
remote: FAILURE: Build failed with an exception.
remote:
remote: * What went wrong:
remote: Could not open buildscript class cache for settings file '/var/lib/openshift/54bd541be0b8cdd48e0001f0/app-root/runtime/repo/settings.gradle' (/var/lib/openshift/54bd541be0b8cdd48e0001f0/app-root/d
ata/gradle/caches/2.0/scripts/settings_4q2fm2rl4vahfi2fl0nqac291k/SettingsScript/buildscript).
remote: > java.net.BindException: Permission denied
remote:
remote: * Try:
remote: Run with --info or --debug option to get more log output.
remote:
remote: * Exception is:
remote: org.gradle.cache.CacheOpenException: Could not open buildscript class cache for settings file '/var/lib/openshift/54bd541be0b8cdd48e0001f0/app-root/runtime/repo/settings.gradle' (/var/lib/openshif
t/54bd541be0b8cdd48e0001f0/app-root/data/gradle/caches/2.0/scripts/settings_4q2fm2rl4vahfi2fl0nqac291k/SettingsScript/buildscript).
remote: at org.gradle.cache.internal.DefaultPersistentDirectoryStore.open(DefaultPersistentDirectoryStore.java:48)
remote: at org.gradle.cache.internal.DefaultPersistentDirectoryStore.open(DefaultPersistentDirectoryStore.java:28)
remote: at org.gradle.cache.internal.DefaultCacheFactory.doOpen(DefaultCacheFactory.java:80)
remote: at org.gradle.cache.internal.DefaultCacheFactory.open(DefaultCacheFactory.java:50)
remote: at org.gradle.cache.internal.DefaultCacheRepository$PersistentCacheBuilder.doOpen(DefaultCacheRepository.java:138)
remote: at org.gradle.cache.internal.DefaultCacheRepository$AbstractCacheBuilder.open(DefaultCacheRepository.java:121)
remote: at org.gradle.groovy.scripts.internal.FileCacheBackedScriptClassCompiler.compile(FileCacheBackedScriptClassCompiler.java:57)
remote: at org.gradle.groovy.scripts.internal.ShortCircuitEmptyScriptCompiler.compile(ShortCircuitEmptyScriptCompiler.java:35)
remote: at org.gradle.groovy.scripts.internal.CachingScriptClassCompiler.compile(CachingScriptClassCompiler.java:36)
remote: at org.gradle.groovy.scripts.DefaultScriptCompilerFactory$ScriptCompilerImpl.compile(DefaultScriptCompilerFactory.java:57)
remote: at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:130)
remote: at org.gradle.initialization.ScriptEvaluatingSettingsProcessor.applySettingsScript(ScriptEvaluatingSettingsProcessor.java:72)
remote: at org.gradle.initialization.ScriptEvaluatingSettingsProcessor.process(ScriptEvaluatingSettingsProcessor.java:62)
remote: at org.gradle.initialization.PropertiesLoadingSettingsProcessor.process(PropertiesLoadingSettingsProcessor.java:37)
remote: at org.gradle.initialization.SettingsHandler.loadSettings(SettingsHandler.java:97)
remote: at org.gradle.initialization.SettingsHandler.findSettingsAndLoadIfAppropriate(SettingsHandler.java:88)
remote: at org.gradle.initialization.SettingsHandler.findAndLoadSettings(SettingsHandler.java:46)
remote: at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:120)
remote: at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:105)
remote: at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:85)
remote: at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:81)
remote: at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
remote: at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
remote: at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:39)
remote: at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:29)
remote: at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50)
remote: at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
remote: at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
remote: at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
remote: at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
remote: at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
remote: at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
remote: at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
remote: at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
remote: at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
remote: at org.gradle.launcher.Main.doAction(Main.java:33)
remote: at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
remote: at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
remote: at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
remote: at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
remote: at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
remote: at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127)
remote: at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:56)
remote: Caused by: org.gradle.internal.UncheckedException: java.net.BindException: Permission denied
remote: at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:39)
remote: at org.gradle.cache.internal.FileLockCommunicator.<init>(FileLockCommunicator.java:40)
remote: at org.gradle.cache.internal.locklistener.DefaultFileLockContentionHandler.getCommunicator(DefaultFileLockContentionHandler.java:156)
remote: at org.gradle.cache.internal.locklistener.DefaultFileLockContentionHandler.reservePort(DefaultFileLockContentionHandler.java:148)
remote: at org.gradle.cache.internal.DefaultFileLockManager.lock(DefaultFileLockManager.java:79)
remote: at org.gradle.cache.internal.DefaultFileLockManager.lock(DefaultFileLockManager.java:67)
remote: at org.gradle.cache.internal.DefaultCacheAccess.open(DefaultCacheAccess.java:86)
remote: at org.gradle.cache.internal.DefaultPersistentDirectoryStore.open(DefaultPersistentDirectoryStore.java:46)
remote: ... 42 more
remote: Caused by: java.net.BindException: Permission denied
remote: at org.gradle.cache.internal.FileLockCommunicator.<init>(FileLockCommunicator.java:38)
remote: ... 48 more
I've upgraded to gradle 2.2.1 as discussed at https://issues.gradle.org/browse/GRADLE-2871. As I'm not doing a build of the project, just running it via gradlew run, I don't see any use of Jenkins here.
Any help is greatly appreciated.

Have you looked at the Linux file permissions for that file?
SSH in and then navigate to that directory
then run 'ls -l' and it should probably look at least like
rwxrwxr-x
for the permissions

In Android Studio, Settings -> Gredle -> Global Gredle settings -> Service directory patch
Change the folder.

Related

How to deploy JPro-one JavaFx App on Heroku server?

I am making a simple JPro-one Web App & trying to Deploy at Heroku.
I have follow these simple steps
Create a free account at Heroku
Install the Heroku Command Line Interface (CLI) & run:
heroku login
Checkout HelloJPro as:
git clone https://github.com/JPro-one/HelloJPro
cd HelloJPro
Create system.properties file with content:
java.runtime.version=11
Add file and commit as:
git add .
git commit -m "switch to java 11"
heroku create
Override the default task by setting the GRADLE_TASK config var like so:
heroku config:set GRADLE_TASK="jproRestart"
Deploy to Heroku as:
git push heroku master
It's generate error a lot of errors:
λ git push heroku master
Enumerating objects: 316, done.
Counting objects: 100% (316/316), done.
Delta compression using up to 2 threads
Compressing objects: 100% (145/145), done.
Writing objects: 100% (316/316), 239.41 KiB | 19.95 MiB/s, done.
Total 316 (delta 119), reused 312 (delta 118)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Building on the Heroku-20 stack
remote: -----> Determining which buildpack to use for this app
remote: -----> Gradle app detected
remote: -----> Installing JDK 11... done
remote: -----> Building Gradle app...
remote: -----> executing ./gradlew jproRestart
remote: Downloading https://services.gradle.org/distributions/gradle-6.7.1-bin.zip
remote: .........10%..........20%..........30%..........40%..........50%.........60%..........70%..........80%..........90%..........100%
remote: To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/6.7.1/userguide/gradle_daemon.html.
remote: Daemon will be stopped at the end of the build stopping after processing
remote:
remote: > Configure project :
remote: Project : => 'org.openjfx.gradle.javafx.test' Java module
remote:
remote: > Task :compileJava
remote: > Task :processResources
remote: > Task :classes
remote:
remote: > Task :jproStop
remote: The Server is not running!
remote:
remote: > Task :prepareBrowser
remote: > Task :jproStartAsync
remote: WARNING: An illegal reflective access operation has occurred
remote: WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/tmp/codon/tmp/cache/.gradle/caches/modules-2/files-2.1/com.google.inject/guice/4.2.3/2ea992d6d7bdcac7a43111a95d182a4c42eb5ff7/guice-4.2.3.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
remote: WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
remote: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
remote: WARNING: All illegal access operations will be denied in a future release
remote: [info] a.e.s.Slf4jLogger - Slf4jLogger started
remote: [info] play.api.Play - Application started (Prod) (no global state)
remote: [info] p.c.s.AkkaHttpServer - Enabling HTTP/2 on Akka HTTP server...
remote: [info] p.c.s.AkkaHttpServer - Listening for HTTP on /0:0:0:0:0:0:0:0:8080
remote: [info] c.jpro.activity - Starting the server
remote: [info] c.j.i.s.Initializer$ - *** Starting JPro: https://www.jpro.one/ ***
remote: [info] c.j.i.s.Initializer$ - OS: Linux
remote: [info] c.j.i.s.Initializer$ - JPro: 2020.1.3
remote: [info] c.j.i.s.Initializer$ - Java version: 11.0.10
remote: [info] c.j.i.s.Initializer$ - JVM: 11.0.10 Oracle Corporation
remote: [info] c.j.i.s.Initializer$ - redirected OUT / ERR
remote: [info] c.j.i.s.Initializer$ - installed SLF4JBridge
remote: [info] c.j.i.s.MonocleInitializer$ - screen: null
remote: Loading library prism_es2 from resource failed: java.lang.UnsatisfiedLinkError: /app/.openjfx/cache/15.0.1.1-jpro/libprism_es2.so: libGL.so.1: cannot open shared object file: No such file or directory
remote: java.lang.UnsatisfiedLinkError: /app/.openjfx/cache/15.0.1.1-jpro/libprism_es2.so: libGL.so.1: cannot open shared object file: No such file or directory
remote: at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
remote: at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
remote: at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
remote: at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
remote: at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2627)
remote: at java.base/java.lang.Runtime.load0(Runtime.java:768)
remote: at java.base/java.lang.System.load(System.java:1837)
remote: at com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(NativeLibLoader.java:214)
remote: at com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(NativeLibLoader.java:194)
remote: at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:135)
remote: at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:53)
remote: at com.sun.prism.es2.ES2Pipeline.lambda$static$0(ES2Pipeline.java:69)
remote: at java.base/java.security.AccessController.doPrivileged(Native Method)
remote: at com.sun.prism.es2.ES2Pipeline.<clinit>(ES2Pipeline.java:51)
remote: at java.base/java.lang.Class.forName0(Native Method)
remote: at java.base/java.lang.Class.forName(Class.java:315)
remote: at com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:218)
remote: at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91)
remote: at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
remote: at java.base/java.lang.Thread.run(Thread.java:834)
remote: [info] c.j.i.s.Initializer$ - finished init!
remote: [info] c.j.i.s.Initializer$ - JavaFX version: 15.0.1.1-jpro+0-2021-01-03-124213
remote: [info] c.j.i.c.m.ChartJSONImExporter - Nothing to import
remote: [info] c.j.i.c.m.DynamicDataModel - Started Monitoring chart data...
remote: Loading library jfxmedia from resource failed: java.lang.UnsatisfiedLinkError: /app/.openjfx/cache/15.0.1.1-jpro/libjfxmedia.so: libasound.so.2: cannot open shared object file: No such file or directory
remote: java.lang.UnsatisfiedLinkError: /app/.openjfx/cache/15.0.1.1-jpro/libjfxmedia.so: libasound.so.2: cannot open shared object file: No such file or directory
remote: at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
remote: at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
remote: at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
remote: at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
remote: at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2627)
remote: at java.base/java.lang.Runtime.load0(Runtime.java:768)
remote: at java.base/java.lang.System.load(System.java:1837)
remote: at com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(NativeLibLoader.java:214)
remote: at com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(NativeLibLoader.java:194)
remote: at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:135)
remote: at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:63)
remote: at com.sun.media.jfxmediaimpl.NativeMediaManager.lambda$new$0(NativeMediaManager.java:137)
remote: at java.base/java.security.AccessController.doPrivileged(Native Method)
remote: at com.sun.media.jfxmediaimpl.NativeMediaManager.<init>(NativeMediaManager.java:107)
remote: at com.sun.media.jfxmediaimpl.NativeMediaManager$NativeMediaManagerInitializer.<clinit>(NativeMediaManager.java:78)
remote: at com.sun.media.jfxmediaimpl.NativeMediaManager.getDefaultInstance(NativeMediaManager.java:90)
remote: at com.sun.media.jfxmedia.MediaManager.getAllMediaPlayers(MediaManager.java:166)
remote: at com.jpro.internal.stats.ServerInfo$.mediaPlayersSize(ServerInfo.scala:34)
remote: at com.jpro.internal.chart.model.MonitoredData$.$anonfun$appsInfoSeries$4(MonitoredData.scala:36)
remote: at com.jpro.internal.chart.model.DynamicDataModel.$anonfun$getNewValues$2(DynamicDataModel.scala:64)
remote: at com.jpro.internal.chart.model.DynamicDataModel.$anonfun$getNewValues$2$adapted(DynamicDataModel.scala:63)
remote: at scala.collection.TraversableLike$WithFilter.$anonfun$foreach$1(TraversableLike.scala:924)
remote: at scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:394)
remote: at scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:721)
remote: at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:923)
remote: at com.jpro.internal.chart.model.DynamicDataModel.getNewValues(DynamicDataModel.scala:63)
remote: at com.jpro.internal.chart.model.DynamicDataModel.$anonfun$startValueMonitoring$1(DynamicDataModel.scala:153)
remote: at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
remote: at simplefx.cores.standard.parts.CoreTimeEvent.$anonfun$runEvery$2(CoreTimeEvent.scala:124)
remote: at simplefx.cores.standard.parts.CoreTimeEvent.$anonfun$runAt$2(CoreTimeEvent.scala:74)
remote: at simplefx.cores.standard.parts.CoreTimeEvent$Helper$.$anonfun$new$4(CoreTimeEvent.scala:100)
remote: at scala.collection.immutable.Set$Set1.foreach(Set.scala:141)
remote: at simplefx.cores.standard.parts.CoreTimeEvent$Helper$.$anonfun$new$3(CoreTimeEvent.scala:98)
remote: at simplefx.cores.standard.parts.CoreTimeEvent$Helper$.$anonfun$new$3$adapted(CoreTimeEvent.scala:91)
remote: at simplefx.cores.standard.parts.CoreTypesBindable$BindableImpl.$anonfun$triggerOnChange$3(CoreTypesBindable.scala:208)
remote: at simplefx.cores.standard.parts.CoreScheduler.runSchedulerImpl(CoreScheduler.scala:73)
remote: at simplefx.cores.standard.parts.CoreScheduler.runSchedulerImpl$(CoreScheduler.scala:52)
remote: at simplefx.cores.standard.Core.runSchedulerImpl(Core.scala:9)
remote: at simplefx.cores.standard.parts.CoreScheduler.tryStartSchedulerStop(CoreScheduler.scala:44)
remote: at simplefx.cores.standard.parts.CoreScheduler.tryStartSchedulerStop$(CoreScheduler.scala:42)
remote: at simplefx.cores.standard.Core.tryStartSchedulerStop(Core.scala:9)
remote: at simplefx.cores.standard.parts.CoreTimeEvent$$anon$1.handle(CoreTimeEvent.scala:24)
remote: at javafx.animation.AnimationTimer$AnimationTimerReceiver.lambda$handle$0(AnimationTimer.java:57)
remote: at java.base/java.security.AccessController.doPrivileged(Native Method)
remote: at javafx.animation.AnimationTimer$AnimationTimerReceiver.handle(AnimationTimer.java:56)
remote: at com.sun.scenario.animation.AbstractMasterTimer.timePulseImpl(AbstractMasterTimer.java:357)
remote: at com.sun.scenario.animation.AbstractMasterTimer$MainLoop.run(AbstractMasterTimer.java:267)
remote: at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:569)
remote: at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:553)
remote: at com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:546)
remote: at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$12(QuantumToolkit.java:348)
remote: at com.sun.glass.ui.monocle.RunnableProcessor.runLoop(RunnableProcessor.java:92)
remote: at com.sun.glass.ui.monocle.RunnableProcessor.run(RunnableProcessor.java:51)
remote: at java.base/java.lang.Thread.run(Thread.java:834)
remote: java.lang.UnsatisfiedLinkError: no jfxmedia in java.library.path: [/usr/java/packages/lib, /usr/lib64, /lib64, /lib, /usr/lib]
remote: at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2670)
remote: at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
remote: at java.base/java.lang.System.loadLibrary(System.java:1873)
remote: at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:163)
remote: at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:63)
remote: at com.sun.media.jfxmediaimpl.NativeMediaManager.lambda$new$0(NativeMediaManager.java:137)
remote: at java.base/java.security.AccessController.doPrivileged(Native Method)
remote: at com.sun.media.jfxmediaimpl.NativeMediaManager.<init>(NativeMediaManager.java:107)
remote: at com.sun.media.jfxmediaimpl.NativeMediaManager$NativeMediaManagerInitializer.<clinit>(NativeMediaManager.java:78)
remote: at com.sun.media.jfxmediaimpl.NativeMediaManager.getDefaultInstance(NativeMediaManager.java:90)
remote: at com.sun.media.jfxmedia.MediaManager.getAllMediaPlayers(MediaManager.java:166)
remote: at com.jpro.internal.stats.ServerInfo$.mediaPlayersSize(ServerInfo.scala:34)
remote: at com.jpro.internal.chart.model.MonitoredData$.$anonfun$appsInfoSeries$4(MonitoredData.scala:36)
remote: at com.jpro.internal.chart.model.DynamicDataModel.$anonfun$getNewValues$2(DynamicDataModel.scala:64)
remote: at com.jpro.internal.chart.model.DynamicDataModel.$anonfun$getNewValues$2$adapted(DynamicDataModel.scala:63)
remote: at scala.collection.TraversableLike$WithFilter.$anonfun$foreach$1(TraversableLike.scala:924)
remote: at scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:394)
remote: at scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:721)
remote: at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:923)
remote: at com.jpro.internal.chart.model.DynamicDataModel.getNewValues(DynamicDataModel.scala:63)
remote: at com.jpro.internal.chart.model.DynamicDataModel.$anonfun$startValueMonitoring$1(DynamicDataModel.scala:153)
remote: at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
remote: at simplefx.cores.standard.parts.CoreTimeEvent.$anonfun$runEvery$2(CoreTimeEvent.scala:124)
remote: at simplefx.cores.standard.parts.CoreTimeEvent.$anonfun$runAt$2(CoreTimeEvent.scala:74)
remote: at simplefx.cores.standard.parts.CoreTimeEvent$Helper$.$anonfun$new$4(CoreTimeEvent.scala:100)
remote: at scala.collection.immutable.Set$Set1.foreach(Set.scala:141)
remote: at simplefx.cores.standard.parts.CoreTimeEvent$Helper$.$anonfun$new$3(CoreTimeEvent.scala:98)
remote: at simplefx.cores.standard.parts.CoreTimeEvent$Helper$.$anonfun$new$3$adapted(CoreTimeEvent.scala:91)
remote: at simplefx.cores.standard.parts.CoreTypesBindable$BindableImpl.$anonfun$triggerOnChange$3(CoreTypesBindable.scala:208)
remote: at simplefx.cores.standard.parts.CoreScheduler.runSchedulerImpl(CoreScheduler.scala:73)
remote: at simplefx.cores.standard.parts.CoreScheduler.runSchedulerImpl$(CoreScheduler.scala:52)
remote: at simplefx.cores.standard.Core.runSchedulerImpl(Core.scala:9)
remote: at simplefx.cores.standard.parts.CoreScheduler.tryStartSchedulerStop(CoreScheduler.scala:44)
remote: at simplefx.cores.standard.parts.CoreScheduler.tryStartSchedulerStop$(CoreScheduler.scala:42)
remote: at simplefx.cores.standard.Core.tryStartSchedulerStop(Core.scala:9)
remote: at simplefx.cores.standard.parts.CoreTimeEvent$$anon$1.handle(CoreTimeEvent.scala:24)
remote: at javafx.animation.AnimationTimer$AnimationTimerReceiver.lambda$handle$0(AnimationTimer.java:57)
remote: at java.base/java.security.AccessController.doPrivileged(Native Method)
remote: at javafx.animation.AnimationTimer$AnimationTimerReceiver.handle(AnimationTimer.java:56)
remote: at com.sun.scenario.animation.AbstractMasterTimer.timePulseImpl(AbstractMasterTimer.java:357)
remote: at com.sun.scenario.animation.AbstractMasterTimer$MainLoop.run(AbstractMasterTimer.java:267)
remote: at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:569)
remote: at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:553)
remote: at com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:546)
remote: at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$12(QuantumToolkit.java:348)
remote: at com.sun.glass.ui.monocle.RunnableProcessor.runLoop(RunnableProcessor.java:92)
remote: at com.sun.glass.ui.monocle.RunnableProcessor.run(RunnableProcessor.java:51)
remote: at java.base/java.lang.Thread.run(Thread.java:834)
remote: > Task :jproStart
remote: > Task :jproRestart
remote: java.lang.NoClassDefFoundError: Could not initialize class com.sun.media.jfxmediaimpl.NativeMediaManager$NativeMediaManagerInitializer
remote: at com.sun.media.jfxmediaimpl.NativeMediaManager.getDefaultInstance(NativeMediaManager.java:90)
remote: at com.sun.media.jfxmedia.MediaManager.getAllMediaPlayers(MediaManager.java:166)
remote: at com.jpro.internal.stats.ServerInfo$.mediaPlayersSize(ServerInfo.scala:34)
remote: at com.jpro.internal.chart.model.MonitoredData$.$anonfun$appsInfoSeries$4(MonitoredData.scala:36)
remote: at com.jpro.internal.chart.model.DynamicDataModel.$anonfun$getNewValues$2(DynamicDataModel.scala:64)
remote: at com.jpro.internal.chart.model.DynamicDataModel.$anonfun$getNewValues$2$adapted(DynamicDataModel.scala:63)
remote: at scala.collection.TraversableLike$WithFilter.$anonfun$foreach$1(TraversableLike.scala:924)
remote: at scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:394)
remote: at scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:721)
remote: at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:923)
remote: at com.jpro.internal.chart.model.DynamicDataModel.getNewValues(DynamicDataModel.scala:63)
remote: at com.jpro.internal.chart.model.DynamicDataModel.$anonfun$startValueMonitoring$1(DynamicDataModel.scala:153)
remote: at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
remote: at simplefx.cores.standard.parts.CoreTimeEvent.$anonfun$runEvery$2(CoreTimeEvent.scala:124)
remote: at simplefx.cores.standard.parts.CoreTimeEvent.$anonfun$runAt$2(CoreTimeEvent.scala:74)
remote: at simplefx.cores.standard.parts.CoreTimeEvent$Helper$.$anonfun$new$4(CoreTimeEvent.scala:100)
remote: at scala.collection.immutable.Set$Set1.foreach(Set.scala:141)
remote: at simplefx.cores.standard.parts.CoreTimeEvent$Helper$.$anonfun$new$3(CoreTimeEvent.scala:98)
remote: at simplefx.cores.standard.parts.CoreTimeEvent$Helper$.$anonfun$new$3$adapted(CoreTimeEvent.scala:91)
remote: at simplefx.cores.standard.parts.CoreTypesBindable$BindableImpl.$anonfun$triggerOnChange$3(CoreTypesBindable.scala:208)
remote: at simplefx.cores.standard.parts.CoreScheduler.runSchedulerImpl(CoreScheduler.scala:73)
remote: at simplefx.cores.standard.parts.CoreScheduler.runSchedulerImpl$(CoreScheduler.scala:52)
remote: at simplefx.cores.standard.Core.runSchedulerImpl(Core.scala:9)
remote: at simplefx.cores.standard.parts.CoreScheduler.tryStartSchedulerStop(CoreScheduler.scala:44)
remote: at simplefx.cores.standard.parts.CoreScheduler.tryStartSchedulerStop$(CoreScheduler.scala:42)
remote: at simplefx.cores.standard.Core.tryStartSchedulerStop(Core.scala:9)
remote: at simplefx.cores.standard.parts.CoreTimeEvent$$anon$1.handle(CoreTimeEvent.scala:24)
remote: at javafx.animation.AnimationTimer$AnimationTimerReceiver.lambda$handle$0(AnimationTimer.java:57)
remote: at java.base/java.security.AccessController.doPrivileged(Native Method)
remote: at javafx.animation.AnimationTimer$AnimationTimerReceiver.handle(AnimationTimer.java:56)
remote: at com.sun.scenario.animation.AbstractMasterTimer.timePulseImpl(AbstractMasterTimer.java:357)
remote: at com.sun.scenario.animation.AbstractMasterTimer$MainLoop.run(AbstractMasterTimer.java:267)
remote: at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:569)
remote: at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:553)
remote: at com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:546)
remote: at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$12(QuantumToolkit.java:348)
remote: at com.sun.glass.ui.monocle.RunnableProcessor.runLoop(RunnableProcessor.java:92)
remote: at com.sun.glass.ui.monocle.RunnableProcessor.run(RunnableProcessor.java:51)
remote:
remote: at java.base/java.lang.Thread.run(Thread.java:834)
remote: BUILD SUCCESSFUL in 54s
remote: 6 actionable tasks: 6 executed
remote: -----> Discovering process types
remote: Procfile declares types -> (none)
remote:
remote: -----> Compressing...
remote: Done: 61.4M
remote: -----> Launching...
remote: Released v4
remote: https://floating-beach-17551.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/floating-beach-17551.git
* [new branch] master -> master
Note: JRpo-one recommends downloading some libs: https://www.jpro.one/?page=docs/current/2.7/PREPARING_LINUX_FOR_JPRO
Try this one too:
heroku run apt-get install xorg gtk2-engines libasound2 libgtk2.0-0
Running apt-get install xorg gtk2-engines libasound2 libgtk2.0-0 on ⬢ floating-beach-17551... up, run.9569 (Free)
Reading package lists... Done
Building dependency tree
Reading state information... Done
W: Not using locking for read only lock file /var/lib/dpkg/lock-frontend
W: Not using locking for read only lock file /var/lib/dpkg/lock
E: Unable to locate package xorg
E: Unable to locate package gtk2-engines
E: Unable to locate package libasound2
E: Unable to locate package libgtk2.0-0
E: Couldn't find any package by glob 'libgtk2.0-0'
E: Couldn't find any package by regex 'libgtk2.0-0'
But I can't get these anyhow, any helps is appreciated.

Unable to deploy a Rails 6 app using d3. Runs locally but Heroku build breaks: ModuleNotFoundError: Module not found: Error: Can't resolve 'd3'

I import d3 like this in a module:
import * as d3 from "d3"
And the app works as intended on localhost, along with producing the desired charts. But when I push to heroku, precompilation fails.
I have not touched any webpack or webpacker configuration, everything is as it was provided by Rails.
I didn't find much mention of this situation apart from one where it was resolved by providing the direct path to d3 in the import statement. I tried this but the errors were unchanged.
Any ideas on how to resolve this and ensure a successful deployment to Heroku?
Thank you!
package.json
{
"name": "the_app",
"private": true,
"dependencies": {
"#rails/actioncable": "^6.0.0",
"#rails/activestorage": "^6.0.0",
"#rails/ujs": "^6.0.0",
"#rails/webpacker": "4.2.2",
"turbolinks": "^5.2.0"
},
"version": "0.1.0",
"devDependencies": {
"d3": "^5.16.0",
"webpack-dev-server": "^3.10.3"
}
}
The errors
remote: -----> Preparing app for Rails asset pipeline
remote: Running: rake assets:precompile
remote: yarn install v1.16.0
remote: [1/4] Resolving packages...
remote: [2/4] Fetching packages...
remote: info fsevents#1.2.12: The platform "linux" is incompatible with this module.
remote: info "fsevents#1.2.12" is an optional dependency and failed compatibility check. Excluding it from installation.
remote: [3/4] Linking dependencies...
remote: warning " > webpack-dev-server#3.10.3" has unmet peer dependency "webpack#^4.0.0 || ^5.0.0".
remote: warning "webpack-dev-server > webpack-dev-middleware#3.7.2" has unmet peer dependency "webpack#^4.0.0".
remote: [4/4] Building fresh packages...
remote: Done in 23.83s.
remote: yarn install v1.16.0
remote: [1/4] Resolving packages...
remote: [2/4] Fetching packages...
remote: info fsevents#1.2.12: The platform "linux" is incompatible with this module.
remote: info "fsevents#1.2.12" is an optional dependency and failed compatibility check. Excluding it from installation.
remote: [3/4] Linking dependencies...
remote: warning " > webpack-dev-server#3.10.3" has unmet peer dependency "webpack#^4.0.0 || ^5.0.0".
remote: warning "webpack-dev-server > webpack-dev-middleware#3.7.2" has unmet peer dependency "webpack#^4.0.0".
remote: [4/4] Building fresh packages...
remote: Done in 4.98s.
remote: I, [2020-05-28T00:58:16.236509 #435] INFO -- : Writing /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/public/assets/application-e9ef9b65582d84e0bcb1825908e96a08d055278ce584c687748a7dbd3a739747.css
remote: I, [2020-05-28T00:58:16.236817 #435] INFO -- : Writing /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/public/assets/application-e9ef9b65582d84e0bcb1825908e96a08d055278ce584c687748a7dbd3a739747.css.gz
remote: I, [2020-05-28T00:58:16.237059 #435] INFO -- : Writing /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/public/assets/main-e9ef9b65582d84e0bcb1825908e96a08d055278ce584c687748a7dbd3a739747.css
remote: I, [2020-05-28T00:58:16.237229 #435] INFO -- : Writing /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/public/assets/main-e9ef9b65582d84e0bcb1825908e96a08d055278ce584c687748a7dbd3a739747.css.gz
remote: Compiling...
remote: Compilation failed:
remote: ModuleNotFoundError: Module not found: Error: Can't resolve 'd3' in '/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/modules'
remote: at factory.create (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/lib/Compilation.js:925:10)
remote: at factory (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/lib/NormalModuleFactory.js:401:22)
remote: at resolver (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/lib/NormalModuleFactory.js:130:21)
remote: at asyncLib.parallel (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/lib/NormalModuleFactory.js:224:22)
remote: at /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/neo-async/async.js:2830:7
remote: at /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/neo-async/async.js:6877:13
remote: at normalResolver.resolve (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/lib/NormalModuleFactory.js:214:25)
remote: at doResolve (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:213:14)
remote: at hook.callAsync (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
remote: at _fn0 (eval at create (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1)
remote: at resolver.doResolve (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:44:7)
remote: at hook.callAsync (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
remote: at _fn0 (eval at create (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1)
remote: at hook.callAsync (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
remote: at _fn0 (eval at create (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:27:1)
remote: at resolver.doResolve (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:67:43)
remote: at hook.callAsync (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
remote: at _fn41 (eval at create (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:28:1)
remote: at resolver.doResolve (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleKindPlugin.js:30:40)
remote: at hook.callAsync (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
remote: at _fn0 (eval at create (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1)
remote: at hook.callAsync (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
remote: at _fn1 (eval at create (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:16:1)
remote: at args (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/forEachBail.js:30:14)
remote: at hook.callAsync (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
remote: at _fn0 (eval at create (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1)
remote: at resolver.doResolve (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:44:7)
remote: at hook.callAsync (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
remote: at _fn0 (eval at create (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1)
remote: at hook.callAsync (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
remote: at _fn0 (eval at create (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:27:1)
remote: at resolver.doResolve (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:67:43)
remote: at hook.callAsync (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
remote: at _fn42 (eval at create (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:16:1)
remote: at hook.callAsync (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5)
remote: at _fn0 (eval at create (/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:27:1)
remote: resolve 'd3' in '/tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/modules'
remote: Parsed request is a module
remote: using description file: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/package.json (relative path: ./app/javascript/modules)
remote: Field 'browser' doesn't contain a valid alias configuration
remote: resolve as module
remote: looking for modules in /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript
remote: using description file: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/package.json (relative path: ./app/javascript)
remote: Field 'browser' doesn't contain a valid alias configuration
remote: using description file: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/package.json (relative path: ./app/javascript/d3)
remote: no extension
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/d3 doesn't exist
remote: .mjs
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/d3.mjs doesn't exist
remote: .js
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/d3.js doesn't exist
remote: .sass
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/d3.sass doesn't exist
remote: .scss
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/d3.scss doesn't exist
remote: .css
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/d3.css doesn't exist
remote: .module.sass
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/d3.module.sass doesn't exist
remote: .module.scss
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/d3.module.scss doesn't exist
remote: .module.css
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/d3.module.css doesn't exist
remote: .png
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/d3.png doesn't exist
remote: .svg
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/d3.svg doesn't exist
remote: .gif
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/d3.gif doesn't exist
remote: .jpeg
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/d3.jpeg doesn't exist
remote: .jpg
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/d3.jpg doesn't exist
remote: as directory
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/d3 doesn't exist
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/modules/node_modules doesn't exist or is not a directory
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/javascript/node_modules doesn't exist or is not a directory
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/app/node_modules doesn't exist or is not a directory
remote: /tmp/node_modules doesn't exist or is not a directory
remote: /node_modules doesn't exist or is not a directory
remote: looking for modules in /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules
remote: using description file: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/package.json (relative path: ./node_modules)
remote: Field 'browser' doesn't contain a valid alias configuration
remote: using description file: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/package.json (relative path: ./node_modules/d3)
remote: no extension
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/d3 doesn't exist
remote: .mjs
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/d3.mjs doesn't exist
remote: .js
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/d3.js doesn't exist
remote: .sass
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/d3.sass doesn't exist
remote: .scss
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/d3.scss doesn't exist
remote: .css
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/d3.css doesn't exist
remote: .module.sass
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/d3.module.sass doesn't exist
remote: .module.scss
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/d3.module.scss doesn't exist
remote: .module.css
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/d3.module.css doesn't exist
remote: .png
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/d3.png doesn't exist
remote: .svg
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/d3.svg doesn't exist
remote: .gif
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/d3.gif doesn't exist
remote: .jpeg
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/d3.jpeg doesn't exist
remote: .jpg
remote: Field 'browser' doesn't contain a valid alias configuration
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/d3.jpg doesn't exist
remote: as directory
remote: /tmp/build_ee117d42c87cfaf2c16b46c6bf931917/node_modules/d3 doesn't exist
remote:
remote:
remote: !
remote: ! Precompiling assets failed.
remote: !
remote: ! Push rejected, failed to compile Ruby app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to the-app
The issue was that I had installed d3 as a dev only dependency as seen in the package.json file.
yarn add d3
solved the issue.

Error while deploying laravel app to heroku

I was testing how to deploy an laravel app to heroku so i just created a simple app in laravel and followed this guide https://devcenter.heroku.com/articles/getting-started-with-laravel.
At first I had a problem with heroku not recognizing that my app was an php application so I added a mostly empty package.json in order for heroku to detect it as explained in this guide https://github.com/heroku/heroku-buildpack-php
Now it detects it but it still can't be deployed and shows this error:
Counting objects: 127, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (107/107), done.
Writing objects: 100% (127/127), 236.46 KiB | 0 bytes/s, done.
Total 127 (delta 14), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> PHP app detected
remote: -----> Bootstrapping...
remote: -----> Installing platform packages...
remote:
remote: ! ERROR: Failed to install system packages.
remote:
remote: Your platform requirements (for runtimes and extensions) could
remote: not be resolved to an installable set of dependencies, or a
remote: repository was unreachable.
remote:
remote: Full error information from installation attempt:
remote:
remote: > Loading repositories with available runtimes and extensions
remote: >
remote: >
remote: > [Composer\Downloader\TransportException]
remote: > The 'https://mybucket.s3.amazonaws.com/cedar-14/packages.json' URL could not be accessed: HTTP/1.1 403 Forbidden
remote: >
remote: >
remote: > install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--no-suggest] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--ignore-platform-reqs] [--] [<packages>]...
remote: >
remote:
remote: Please verify that all requirements for runtime versions in
remote: 'composer.lock' are compatible with the list below, and ensure
remote: all required extensions are available for the desired runtimes.
remote:
remote: For reference, the following runtimes are currently available:
remote:
remote: PHP:
remote: HHVM:
remote:
remote: For a list of supported runtimes & extensions on Heroku, please
remote: refer to: https://devcenter.heroku.com/articles/php-support
remote:
remote: ! Push rejected, failed to compile PHP app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to nameless-peak-52308.
remote: To https://git.heroku.com/nameless-peak-52308.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/nameless-peak-52308.git'
'https://mybucket.s3.amazonaws.com/cedar-14/packages.json' URL could not be accessed: HTTP/1.1 403 Forbidden
This means you need to set the permissions to public for this file/folder in AWS. I'm guessing you're logged in and you can access it fine, but Heroku can't view it because of the permissions.
I solved it by configuring heroku with this:
heroku config:set HEROKU_PHP_PLATFORM_REPOSITORIES="https://heroku-v8js.s3.amazonaws.com/dist-cedar-14-stable/packages.json"
as explained by https://github.com/phpv8/heroku-v8js
It can be by the composer, use composer update and then add it usinggit add . then upload it to the heroku server with git push heroku master

Why can my Go Iris app not be deployed to Heroku?

I have very simple Go App with Iris which I am trying to deploy to Heroku.
To build and install locally I run the following command:
go install -v -tags heroku .
This works and outputs
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/BurntSushi/toml
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/fatih/structs
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/cache/cfg
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/cache/ruleset
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/pio/terminal
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/iris-contrib/form-binder
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/json-iterator/go
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/satori/go.uuid
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/klauspost/cpuid
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/klauspost/crc32
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/pio
github.com/VaccinalBowl/herokulunchhelper/vendor/golang.org/x/net/html/atom
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/shurcooL/sanitized_anchor_name
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/errors
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/russross/blackfriday
github.com/VaccinalBowl/herokulunchhelper/vendor/golang.org/x/net/html
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/cache/entry
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/klauspost/compress/flate
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/golog
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/cache/uri
github.com/VaccinalBowl/herokulunchhelper/vendor/golang.org/x/crypto/acme
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/router/macro/interpreter/ast
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/router/macro/interpreter/token
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/router/macro/interpreter/lexer
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/router/macro/interpreter/parser
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/mvc/activator/field
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/mvc/activator/persistence
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/router/macro
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/ryanuber/columnize
github.com/VaccinalBowl/herokulunchhelper/vendor/golang.org/x/crypto/acme/autocert
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/Joker/jade
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/klauspost/compress/gzip
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/aymerick/raymond/ast
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/aymerick/raymond/lexer
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/eknkc/amber/parser
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/juju/errors
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/microcosm-cc/bluemonday
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/memstore
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/aymerick/raymond/parser
github.com/VaccinalBowl/herokulunchhelper/vendor/gopkg.in/yaml.v2
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/flosch/pongo2
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/aymerick/raymond
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/netutil
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/host
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/eknkc/amber
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/context
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/cache/client/rule
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/handlerconv
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/mvc/activator/methodfunc
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/router/node
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/mvc/activator/model
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/middleware/logger
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/middleware/recover
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/sessions
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/cache/client
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/view
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/mvc/activator
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/cache
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/router
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/mvc
github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris
github.com/VaccinalBowl/herokulunchhelper
This application will run locally without issue. However when I deploy to Heroku using:
git push heroku master
The following is the output:
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Go app detected
remote: -----> Checking vendor/vendor.json file.
remote: -----> Using go1.8.3
remote: -----> Fetching any unsaved dependencies (govendor sync)
remote: -----> Running: go install -v -tags heroku .
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/BurntSushi/toml
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/pio/terminal
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/pio
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/golog
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/cache/cfg
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/cache/ruleset
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/fatih/structs
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/iris-contrib/form-binder
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/json-iterator/go
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/satori/go.uuid
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/errors
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/memstore
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/klauspost/cpuid
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/klauspost/compress/flate
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/klauspost/crc32
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/klauspost/compress/gzip
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/golang.org/x/net/html/atom
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/golang.org/x/net/html
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/shurcooL/sanitized_anchor_name
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/russross/blackfriday
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/microcosm-cc/bluemonday
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/cache/entry
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/context
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/cache/uri
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/golang.org/x/crypto/acme
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/golang.org/x/crypto/acme/autocert
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/cache/client/rule
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/cache/client
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/handlerconv
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/netutil
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/cache
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/router/macro/interpreter/ast
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/router/macro/interpreter/token
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/router/macro/interpreter/lexer
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/router/macro/interpreter/parser
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/host
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/router/macro
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/router/node
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/mvc/activator/field
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/mvc/activator/methodfunc
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/mvc/activator/model
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/mvc/activator/persistence
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/ryanuber/columnize
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/mvc/activator
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/middleware/logger
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/middleware/recover
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/core/router
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/Joker/jade
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/aymerick/raymond/ast
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/aymerick/raymond/lexer
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/aymerick/raymond/parser
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/eknkc/amber/parser
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/aymerick/raymond
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/eknkc/amber
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/juju/errors
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/gopkg.in/yaml.v2
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/flosch/pongo2
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris/view
remote: github.com/VaccinalBowl/herokulunchhelper/vendor/github.com/kataras/iris
remote: github.com/VaccinalBowl/herokulunchhelper
remote: # github.com/VaccinalBowl/herokulunchhelper
remote: ./main.go:19: undefined: iris.Context
remote: ./main.go:28: undefined: iris.Context
I am using govendor and all of the files required are located within the vendor directory of my app. I added them using:
govendor add github.com/kataras/iris
govendor add +external
What is the issue? Does anybody have any ideas?

Heroku deploy of Gulp + Compass is not working at boilerplate stage

I am using Gulp boilerplate from here and buildpack from here. Anyway, i just want to deploy clean boilerplate and no such code. I think it should work with just adding buildpack by heroku buildpacks:add ${url}. It doesn't work, giving me that output:
C:\Users\Dawid\Desktop\Harvest>git push heroku master
Counting objects: 541, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (245/245), done.
Writing objects: 100% (541/541), 147.00 KiB | 0 bytes/s, done.
Total 541 (delta 261), reused 532 (delta 260)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Fetching custom git buildpack... done
remote: -----> Node.js app detected
remote:
remote: PRO TIP: Specify a node version in package.json
remote: See https://devcenter.heroku.com/articles/nodejs-support
remote:
remote: -----> Defaulting to latest stable node: 0.12.3
remote: -----> Downloading and installing node
remote: -----> Exporting config vars to environment
remote: -----> Installing dependencies
remote: npm WARN package.json YourProject#0.0.1 No repository field.
remote: -----> Cleaning up node-gyp and npm artifacts
remote: -----> Procfile not found and npm start script is undefined
remote:
remote: PRO TIP: Create a Procfile or specify a start script in package.j
son
remote: See https://devcenter.heroku.com/articles/nodejs-support
remote:
remote: -----> Installing Sass / Compass / Haml
remote: WARNING: You don't have /tmp/build_a4c003166016ef188ee84e9068b95aec/.ge
m/ruby/2.2.0/bin in your PATH,
remote: gem executables will not run.
remote: Successfully installed sass-3.4.14
remote: 1 gem installed
remote: WARNING: You don't have /tmp/build_a4c003166016ef188ee84e9068b95aec/.ge
m/ruby/2.2.0/bin in your PATH,
remote: gem executables will not run.
remote: Building native extensions. This could take a while...
remote: Successfully installed ffi-1.9.8
remote: Successfully installed rb-inotify-0.9.5
remote: Successfully installed rb-fsevent-0.9.5
remote: Successfully installed chunky_png-1.3.4
remote: Successfully installed sass-3.4.14
remote: Successfully installed compass-import-once-1.0.5
remote: Successfully installed compass-core-1.0.3
remote: Compass is charityware. If you love it, please donate on our behalf
at http://umdf.org/compass Thanks!
remote: Successfully installed compass-1.0.3
remote: 8 gems installed
remote: WARNING: You don't have /tmp/build_a4c003166016ef188ee84e9068b95aec/.ge
m/ruby/2.2.0/bin in your PATH,
remote: gem executables will not run.
remote: Successfully installed tilt-2.0.1
remote:
remote: HEADS UP! Haml 4.0 has many improvements, but also has changes that may
break
remote: your application:
remote:
remote: * Support for Ruby 1.8.6 dropped
remote: * Support for Rails 2 dropped
remote: * Sass filter now always outputs <style> tags
remote: * Data attributes are now hyphenated, not underscored
remote: * html2haml utility moved to the html2haml gem
remote: * Textile and Maruku filters moved to the haml-contrib gem
remote:
remote: For more info see:
remote:
remote: http://rubydoc.info/github/haml/haml/file/CHANGELOG.md
remote:
remote: Successfully installed haml-4.0.6
remote: 2 gems installed
remote: -----> Caching ruby gems directory for future builds
remote: -----> Found Gulpfile
remote: -----> Running gulp heroku: task
remote: /tmp/buildpack_a4c003166016ef188ee84e9068b95aec/bin/compile: line 168: /
tmp/build_a4c003166016ef188ee84e9068b95aec/node_modules/.bin/gulp: No such file
or directory
remote:
remote: ! Push rejected, failed to compile Node.js app
remote:
remote: Verifying deploy...
remote:
remote: ! Push rejected to calm-badlands-5771.
remote:
To https://git.heroku.com/calm-badlands-5771.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/calm-badlands-5771.gi
t'
Your ruby/compass installation on Heroku must be out of date. I had to update mine to 2.2.0 for compass to work but i am using a custom buildpack as well for Grunt-NodeJS-Compass
https://github.com/devakone/heroku-buildpack-nodejs-grunt-compass
You can take a look at the
https://github.com/devakone/heroku-buildpack-nodejs-grunt-compass/blob/master/bin/compile
file
line 153
export GEM_HOME=$build_dir/.gem/ruby/2.2.0
Make sure your GEM_HOME variable points to the ruby 2.2.0 directory.

Resources