2

Wenn ich versuche, die folgende Repo CF/Bluemix einzusetzen habe ich Fehler für die "devDependencies":Deploy NodeJS Problem auf CF/Bluemix

Error: Cannot find module 'webpack' 

Wenn ich webpack zum dep hinzufügen bekam ich Fehler

Error: Cannot find module 'postcss-cssnext' 

und weiterhin für andere dev dep ....

Welcher Teil des devDependencies, hat sollte die deploy nicht nur die "prod" Abhängigkeit installieren?

Dies ist der Repo: https://github.com/Hashnode/mern-starter

ich die Build-lokal mit npm run bs laufen und ich habe in der manifest.yml folgende

--- 
applications: 
- name: myapp 
    buildpack: nodejs_buildpack 
    memory: 512M 
    command: npm run start:prod 
    services: 
    - mong 

, was der Grund von faliing auf devdependencies sein könnte?

Antwort

1

Schieben Sie Bluemix mit dem Ordner node_modules in Ihrem Projekt? Wenn Sie es sind, versuchen Sie, es vollständig zu löschen und zu reaktivieren.

Auch

Fügen Sie einfach die Zeile node_modules in Ihrer .cfignore Datei, um das node_modules Verzeichnis zu ignorieren. Das Buildpack führt die Knoteninstallation in Ihrem Cloud-Foundry-Container aus. Auch würde ich Ihnen empfehlen, eine cf zu löschen, es zu tun aus dem Cache zu entfernen und dann eine cf schieben wieder

Quelle: Siehe die Kommentare dieser Frage: unable to push node.js cloudant app to bluemix


-Update

ich denke, dass ich das Problem reproduziert:

2017-01-01T23:12:14.45+0000 [App/0]  ERR Error: Cannot find module 'webpack' 
2017-01-01T23:12:14.45+0000 [App/0]  ERR  at Function.Module._resolveFilename (module.js:339:15) 
2017-01-01T23:12:14.45+0000 [App/0]  ERR  at Function.Module._load (module.js:290:25) 
2017-01-01T23:12:14.45+0000 [App/0]  ERR  at Module.require (module.js:367:17) 
2017-01-01T23:12:14.45+0000 [App/0]  ERR  at require (internal/module.js:16:19) 
2017-01-01T23:12:14.45+0000 [App/0]  ERR  at Object.defineProperty.value (/home/vcap/app/dist/server.bundle.js:280:19) 
2017-01-01T23:12:14.45+0000 [App/0]  ERR  at Object.<anonymous> (/home/vcap/app/dist/server.bundle.js:1930:17) 
2017-01-01T23:12:14.45+0000 [App/0]  ERR  at Object.defineProperty.value (/home/vcap/app/dist/server.bundle.js:2074:31) 
2017-01-01T23:12:14.45+0000 [App/0]  ERR  at __webpack_require__ (/home/vcap/app/dist/server.bundle.js:20:30) 
2017-01-01T23:12:14.45+0000 [App/0]  ERR  at /home/vcap/app/dist/server.bundle.js:40:18 
2017-01-01T23:12:14.45+0000 [App/0]  ERR  at Object.<anonymous> (/home/vcap/app/dist/server.bundle.js:43:10) 
2017-01-01T23:12:14.45+0000 [App/0]  ERR  at Module._compile (module.js:413:34) 
2017-01-01T23:12:14.45+0000 [App/0]  ERR  at Object.Module._extensions..js (module.js:422:10) 
2017-01-01T23:12:14.45+0000 [App/0]  ERR  at Module.load (module.js:357:32) 
2017-01-01T23:12:14.45+0000 [App/0]  ERR  at Function.Module._load (module.js:314:12) 
2017-01-01T23:12:14.45+0000 [App/0]  ERR  at Module.require (module.js:367:17) 

Das Webpack-Importproblem scheint mit der Datei dist/server.bundle.js zu sein, die für mich mit dem Befehl npm run bs generiert wurde.

Der Ordner dist wird in Bluemix hochgeladen und scheint importiert zu werden, wenn Ihre App gestartet wird.

Können Sie den Ordner dist in .cfignore ausschließen und erstellen, wenn Ihre App mit cf push hochgeladen wird? Ich bin mir nicht sicher, ob Sie mehrere Befehle in manifest.yml hinzufügen, z.

command: npm <<your_new_build_command>> && npm run start:prod 

Allerdings sieht es, als ob alles, was Sie in Ihrem neuen Build-Befehl tun (zum Beispiel npm run bs:prod) nur die Produktion Abhängigkeiten nimmt, wenn es Ihren dist Ordner erstellt.

Wenn Sie nicht mehrere Befehle aus der Datei "manifest.yml" ausführen können, müssen Sie möglicherweise start:prod ändern, damit auch ein Buildschritt für die Produktionsumgebung ausgeführt wird.

aktualisieren 2

können Sie den buildpack Knoten fragen sie jedes Mal, wenn Sie durch die Verwendung NODE_MODULES_CACHE: false drücken, um nicht Cache-Module und downloaden, z.B.

applications: 
- name: ... 
    buildpack: nodejs_buildpack 
    memory: 512M 
    command: ... 
    env: 
    NODE_MODULES_CACHE: false 
+0

Nein, ich habe es bereits in der .cf ignore -> node_modules /, gibt es eine Option zum Löschen des Cache ohne zu löschen? –

+0

Ich bin mir nicht sicher, aber diese Fragen sieht aus wie es http://stackoverflow.com/questions/31006154/how-cani-i-avoid-loadingpack-component-from-cache-on-bluemix –

+0

helfen kann und betrachte das Problem, das versucht das dev dep zu laden? irgendeine Ideenrichtung? Ich bin fest ... Danke! –