在CF / BlueMix上部署nodejs问题

当我尝试部署下面的回购CF / BlueMix我得到了错误的“devDependencies”:

Error: Cannot find module 'webpack' 

如果我添加webpack到dep我得到错误

 Error: Cannot find module 'postcss-cssnext' 

并继续为其他dev dev dep ….

devDependencies的哪个部分,部署不应该只安装“prod”依赖项?

这是回购: https : //github.com/Hashnode/mern-starter

我使用npm run bs在本地运行构build,然后将manifest.yml放在下面

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

什么可能是失败的原因依赖?

您是否使用项目中的node_modules文件夹推送到Bluemix? 如果你是,请尝试完全删除它并重新打印。

也,

只需在.cfignore文件中添加node_modules行即可忽略node_modules目录。 buildpack将在您的云代工容器中运行节点安装。 另外,我build议你做一个cf删除从caching中删除,然后再做一个cf推

来源 :看到这个问题的意见: 无法推动node.js云应用程序bluemix


更新

我想我已经转载了这个问题:

 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) 

webpack导入问题似乎与文件dist/server.bundle.js这对我来说是由命令npm run bs生成的。

dist文件夹正在上传到Bluemix,并且在您的应用程序启动时显示为正在导入。

您可以排除.cfignore的dist文件夹,并在您的应用程序使用cf push上传时构build它吗? 我不确定是否在manifest.yml中添加了多个命令,例如

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

但是,看起来好像你在新的build命令中做的任何事情(比如npm run bs:prod )在创build你的dist文件夹的时候只会select生产依赖关系。

如果您不能从manifest.yml运行多个命令,那么您可能需要更改start:prod以便它还执行生产环境的构build步骤。

更新2

您可以要求节点buildpack不要caching模块,并在每次使用NODE_MODULES_CACHE: false推送时下载它们NODE_MODULES_CACHE: false ,例如

 applications: - name: ... buildpack: nodejs_buildpack memory: 512M command: ... env: NODE_MODULES_CACHE: false 
Interesting Posts