Node.js 即使在git强制推送之后,应用程序仍使用错误的代码

Node.js 即使在git强制推送之后,应用程序仍使用错误的代码,node.js,git,ibm-cloud,Node.js,Git,Ibm Cloud,我的印象是,我在Bluemix上的应用程序运行的代码版本较旧(错误)。我已经做了几次更新,现在应用程序不会部署,也不会启动。当我检查日志文件时,我看到一些错误,这些错误是由Express中间件更改引起的,这些更改不再受支持,应该由外部组件替换,例如,将bodyParser替换为bodyParser。根据本页,我已使用新组件替换express.middlewarename进行了所有这些更改: 但是,当我尝试部署应用程序时,仍会在日志文件中收到错误消息。信息是: throw new Error('M

我的印象是,我在Bluemix上的应用程序运行的代码版本较旧(错误)。我已经做了几次更新,现在应用程序不会部署,也不会启动。当我检查日志文件时,我看到一些错误,这些错误是由Express中间件更改引起的,这些更改不再受支持,应该由外部组件替换,例如,将bodyParser替换为bodyParser。根据本页,我已使用新组件替换express.middlewarename进行了所有这些更改:

但是,当我尝试部署应用程序时,仍会在日志文件中收到错误消息。信息是:

throw new Error('Most middleware (like ' + name + ') is no longer bundled with 
Express and must be installed separately. Please see 
https://github.com/senchalabs/connect#middleware.');
2017/4/5 午後2時42分48秒 ERR APP at Function.Object.defineProperty.get 
(/home/vcap/app/node_modules/express/lib/express.js:107:13)
2017/4/5 午後2時42分48秒 ERR APP at Module._compile (module.js:409:26)
2017/4/5 午後2時42分48秒 ERR APP at Object.Module._extensions..js (module.js:416:10)
2017/4/5 午後2時42分48秒 ERR APP at Module.load (module.js:343:32)
我能够在我的机器上运行应用程序。如果我从编译管道下载代码,它看起来很好。但是,我看到一些错误,它们指向的代码行是注释或文件中的空行。 所有这些问题都让我相信Bluemix试图部署错误版本的代码。 有人知道我怎么修吗?
提前感谢您。

首先,您必须确保所有节点进程都已终止

在linux上,您可以使用:ps aux | grep node进行检查

之后重建你的npm。使用“npm build”命令


启动服务器,它会工作。

您可以做几件事 1.添加git提交标记作为端点的一部分。Maven和其他构建工具具有这种能力,它是一种良好的实践,特别是对于微服务体系结构。Spring有一个,若node并没有类似的东西,我会感到惊讶。这是我通过简单搜索找到的。[1] 2.尝试执行cf d${app_name},然后重新推送应用程序。 3.如果使用清单文件或cf p命令,请确保指定要部署的应用程序的路径。CF上的node还有其他一些细微差别,但您也可以在部署应用程序时将启动脚本分配给构建包

我希望这有帮助


[1]

好的,但如何在bluemix上执行?它应该是自动的,事实上,我确实相信它可以做到这一点,但看起来像是使用了旧(非常旧)版本的代码。我正在寻找一种方法来强制bluemix从git中提取最新版本的代码。谢谢。您不需要猜测它是否有旧代码-您可以使用“cf ssh AppName”并进行检查。我必须从hub.jazz.net进行部署,以获得对生产的更改。cf ssh现在不起作用,出于某种原因,我得到以下ssh会话分配失败:ssh:响应通道打开的意外数据包:我正在使用hub.jazz.net进行构建管道和部署,有没有办法强制编译/构建和部署作业获取最新版本的代码?非常感谢。