2016-08-18 12 views
6

Usiłuję wdrożyć aplikację na mt Heroku ale zawsze uzyskać ten sam błąd:Heroku Deploy Błąd: Nie można odnaleźć modułu '/app/index.js'

2016-08-18T10:16:10.988982+00:00 heroku[web.1]: Starting process with command `node index.js` 
2016-08-18T10:16:13.180369+00:00 app[web.1]: module.js:341 
2016-08-18T10:16:13.180389+00:00 app[web.1]:  throw err; 
2016-08-18T10:16:13.180390+00:00 app[web.1]: ^
2016-08-18T10:16:13.180391+00:00 app[web.1]: 
2016-08-18T10:16:13.180392+00:00 app[web.1]: Error: Cannot find module '/app/index.js' 
2016-08-18T10:16:13.180393+00:00 app[web.1]:  at Function.Module._resolveFilename (module.js:339:15) 
2016-08-18T10:16:13.180394+00:00 app[web.1]:  at Function.Module._load (module.js:290:25) 
2016-08-18T10:16:13.180394+00:00 app[web.1]:  at Function.Module.runMain (module.js:447:10) 
2016-08-18T10:16:13.180399+00:00 app[web.1]:  at node.js:405:3 
2016-08-18T10:16:13.271966+00:00 heroku[web.1]: Process exited with status 1 
2016-08-18T10:16:13.273383+00:00 heroku[web.1]: State changed from starting to crashed 

Jak czytam w podobnych wniosków I dodano już plik Procfile zawierający następujący kod: web: node index.js, ale nadal mam ten sam problem.

Ktoś ma pojęcie, gdzie jest problem? Wszelkie wskazówki będą mile widziane. Z góry dziękuję!

+0

Jak uruchomić aplikację? Jak np. 'Node index.js'? – Helen

+0

Edytowałem plik Procfile i określiłem regułę, którą napisałem w moim poście. Następnie uruchamiam aplikację przez uruchomienie wiersza poleceń 'heroku restart' lub bezpośrednio w fazie zatwierdzenia. W każdym razie myślę, że wykonanie polecenia to 'node index.js' – trauma

+0

ogólnie, jeśli uruchamiasz lokalnie aplikację jako' node index.js' lub 'node server/index.js 'w taki sam sposób, w jaki powinieneś ustawić w Procfile – Helen

Odpowiedz

3

Dodaj względną ścieżkę do pliku, jak poniżej

web: node ./index.js 
+0

Zrobiłem to, ale to nie działa. Wciąż dostaję ten sam błąd. – trauma

+0

Czy pliki Procfile i index.js znajdują się na tej samej ścieżce (root)? –

+0

Tak, obie na tej samej ścieżce. – trauma

1

Jeśli masz twoi index.js plik w katalogu głównym projektu index.js, ale Heroku za błąd mówi, że moduł nie może być uznany. W takim przypadku problem może być spowodowany przez GIT.

Jak możemy się upewnić, że tak jest? Cóż, twoje repozytorium git może nie dodawać twojego pliku index.js, aby go zatwierdzić ani przesłać go do heroku. Można to sprawdzić, patrząc na plikach, które git ogląda w lokalnym repo za pomocą następującego polecenia:

git ls-files 

Twój index.js plik powinien zostać wymieniony. Jeśli nie, to plik jest ignorowany.

Rozwiązanie: Wymuś dodanie pliku.

git add --force ./index.js 

Teraz możesz zatwierdzić i popchnąć do Heroku i powinieneś być gotowy.

Może to być również w przypadku, gdy o plik indeksu wewnątrz dist katalogu lub src (APP/dist/index.js lub aplikacji/src/index.js).

Powiązane problemy