【问题标题】:Heroku Cannot find module 'lodash/object/assign'Heroku 找不到模块 'lodash/object/assign'
【发布时间】:2017-02-10 12:59:32
【问题描述】:

我在部署到 Heroku 时遇到问题。在我遇到同样的错误后,它在本地运行,只需 rm -f node_modules 然后用 npm install 重新安装它们。但是当我部署到heroku时,错误不断发生。甚至使用 bash 执行相同的步骤。

然后我使用 npm shrinkwrap 并注意到 aws-sdk 依赖于 lodash vs 3.5.0

节点 v5.0.0 NPM v3.3.6

"dependencies": {
"aws-sdk": "^2.6.6",
"bluebird": "^3.4.6",
"body-parser": "^1.15.2",
"express": "^4.14.0",
"goosepage": "0.0.1",
"lodash": "^3.5.0"
}

额外的heroku日志

Error: Cannot find module 'lodash/object/assign' 
Function.Module._resolveFilename (module.js:337:15) 
Function.Module._load (module.js:287:25) 
Module.require (module.js:366:17) 
require (module.js:385:17) 
Object.<anonymous> (/app/node_modules/xmlbuilder/lib/index.js:5:12) 
Object.<anonymous> (/app/node_modules/xmlbuilder/lib/index.js:14:4) 
Module._compile (module.js:425:26) 
Object.Module._extensions..js (module.js:432:10) 
Module.load (module.js:356:32) 
Function.Module._load (module.js:311:12) 
Module.require (module.js:366:17) 
require (module.js:385:17) 
Object.<anonymous> (/app/node_modules/aws-sdk/lib/xml/builder.js:2:15) 
Module._compile (module.js:425:26) 
Object.Module._extensions..js (module.js:432:10) 
Module.load (module.js:356:32) 

【问题讨论】:

    标签: node.js heroku npm lodash


    【解决方案1】:

    原来 Heroku 有一个用来缓存 node_modules 的 Buildpack。关闭缓存没有帮助,所以我不得不使用 heroku 插件来清除缓存的工作。

    https://github.com/heroku/heroku-repo

    heroku repo:purge_cache -a appname
    

    据称以下内容也应该有效,以防上述内容无效

    heroku config:set NODE_MODULES_TRUE=false
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-21
      • 2018-09-10
      • 2016-10-24
      • 2018-07-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多