2016-04-06 15 views
0

Ich übernehme ein Projekt von jemand anderem. Er entwarf eine Knoten-App mit Bower und Schluck.Schluck schlägt auf Heroku fehl: scss Importe scheitern, bower_components fehlt?

Sie wurden ursprünglich auf AWS bereitgestellt, jetzt möchten sie auf Heroku umsteigen. Der frühere Bereitstellungsprozess funktioniert somit nicht mehr.

Ich bin ziemlich weit fortgeschritten, aber ich treffe jetzt einen Stein, wo ich nicht weiter machen kann.

Ich habe alle Schluckreferenzen von devDependencies in Abhängigkeiten in package.json verschoben und ein postinstall Skript hinzugefügt.

So schluckt eigentlich jetzt schlucken auf heroku. Aber ich bekomme Fehler:

remote:  [15:31:39] Starting 'extras-admin'... 
remote:  [15:31:39] Finished 'default' after 848 ms 
remote:   
remote:  events.js:141 
remote:  throw er; // Unhandled 'error' event 
remote:  ^
remote:  Error: client/styles/main.scss 
remote:  Error: File to import not found or unreadable: ../bower_components/normalize-scss/normalize.scss 
remote:  Parent style sheet: stdin 
remote:  on line 1 of stdin 
remote:  >> @import "../bower_components/normalize-scss/normalize.scss"; 
remote:  ^
remote:   

Jetzt kann ich diese auf meinem lokalen Rechner ausführen und es funktioniert.

Warum scheitert der @import bei heroku? Natürlich, bower_compoents ist in meinem .gitignore Datei, so vielleicht Schluck auf Heroku schafft es nicht oder etwas?

Antwort

1

Sie haben wahrscheinlich einen vorhandenen Zustand auf Ihrem lokalen Computer. Was passiert beim Löschen von bower_components und node_modules? (rm -rf bower_components node_modules). Dann npm installieren (npm install --quiet --production). Dann starte deine App (npm start).

Wenn es immer noch lokal funktioniert, sollten Sie ein Support-Ticket öffnen.

Ich vermute, Sie werden die gleichen Fehler sehen. Nachdem npm Module installiert hat, müssen Sie Bower-Komponenten installieren, dann müssen Sie Ihren Schluck bauen. Eine saubere Art und Weise dies einzurichten (wenn Sie es auf jedem post laufen nicht wollen) ist ein Build-Skript zu erstellen:

"scripts": { 
    "build": "bower install && gulp build", 
    "heroku-postbuild": "npm run build" 
} 

Mehr Infos hier:

Verwandte Themen