2

当我尝试部署以下回购,以CF/BlueMix我得到了错误的“devDependencies”:部署的NodeJS上CF问题/ BlueMix

Error: Cannot find module 'webpack' 

如果我添加的WebPack到DEP我有错误

Error: Cannot find module 'postcss-cssnext' 

,并继续对其他开发DEP ....

哪个devDependencies的一部分,不部署不应该只安装了“刺”的依赖?

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

npm run bs运行构建本地和我放在manifest.yml以下

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

这可能是faliing上devdependencies的原因是什么?

回答

1

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

此外,

只需添加一行node_modules在.cfignore文件忽略node_modules目录。 buildpack将在您的云代工容器中运行节点安装。此外,我会建议你做一个比照删除从缓存中删除它,然后做一个CF再次

来源推:unable to push node.js cloudant app to 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时构建它吗?我不确定是否在manifest.yml中添加了多个命令,例如

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

但是,它看起来好像无论你在新的build命令做(例如npm run bs:prod),只有当它创建你的DIST文件夹拿起生产的依赖。

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

更新2

你可以问节点buildpack不缓存模块,并通过使用NODE_MODULES_CACHE: false,例如每次按下时将它们下载

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

不,我已经在.cf中忽略 - > node_modules /,有没有选项可以清除缓存而不删除? –

+0

但我不确定,这个问题看起来可能有所帮助http://stackoverflow.com/questions/31006154/how-can-i-avoid-loading-buildpack-components-from-cache-on-bluemix –

+0

并考虑试图下载dev dev的问题?任何想法的方向?我卡住了......谢谢! –