node.js - 除非先删除 node_modules 文件夹,否则 NPM 安装无法正常工作?

标签 node.js azure npm azure-devops

我有一个 Visual Studio 团队服务构建定义,第一步是“npm install”。此定义部署到 Azure Web 应用程序。

NPM 完成时没有错误,但是在访问 Web 应用程序时,会抛出错误“找不到模块‘express’”。从 Web 应用程序文件和 package.json 所在的“wwwroot”文件夹手动运行“npm install”时,命令再次成功完成,但错误仍然存​​在。

但是,当我从“wwwroot”文件夹中删除“node_modules”并再次运行“npm install”时,错误消失了,网络应用程序按预期运行!

如何修复我的构建定义,以便每次部署时都不需要这些手动步骤?

我的 package.json 的相关摘录如下:

 "dependencies": {
    "express": "^4.13.4",
    "pug": "^2.0.0-alpha7",
    "bluebird": "^3.4.1",
},

npm 日志如下:

    2016-08-21T01:19:28.9476070Z ##[debug]check path : C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.104.1\tasks\Npm\0.2.15\task.json
2016-08-21T01:19:28.9476070Z ##[debug]set resource file to: C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.104.1\tasks\Npm\0.2.15\task.json
2016-08-21T01:19:28.9486073Z ##[debug]system.culture=en-US
2016-08-21T01:19:28.9646119Z ##[debug]check path : C:\Program Files\nodejs\npm.cmd
2016-08-21T01:19:28.9656074Z ##[debug]npm=C:\Program Files\nodejs\npm.cmd
2016-08-21T01:19:28.9666075Z ##[debug]cwd=C:\a\1\s
2016-08-21T01:19:28.9686074Z ##[debug]path exists: C:\a\1\s
2016-08-21T01:19:28.9696068Z ##[debug]command=install
2016-08-21T01:19:28.9696068Z ##[debug]C:\Program Files\nodejs\npm.cmd arg: install
2016-08-21T01:19:28.9706071Z ##[debug]arguments=null
2016-08-21T01:19:28.9706071Z ##[debug]exec tool: C:\Program Files\nodejs\npm.cmd
2016-08-21T01:19:28.9716073Z ##[debug]Arguments:
2016-08-21T01:19:28.9716073Z ##[debug]   install
2016-08-21T01:19:28.9726071Z [command]C:\Program Files\nodejs\npm.cmd install
2016-08-21T01:19:43.5330503Z <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="72011f1300065f1b1d0632435c425c42" rel="noreferrer noopener nofollow">[email protected]</a> C:\a\1\s
2016-08-21T01:19:43.5330503Z +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0968737c7b6c2460667d246d6c7f606a6c246864787949382739273839" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5340519Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2342595651460e4a4c570e424e52530e4142504663120d130d1213" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5340519Z | | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1d7c706c6d2c2d5d2e332f332f" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5340519Z | | | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5836373c3d7539352928753d363b373c3d2a18687668766a" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5350499Z | | | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="85ebeae1e0a8ecebf1b3b1c5b5abb1abb5" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5350499Z | | | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="92e1e6f3e6f7feebbcf8e1d2a3bca1bca2" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5360508Z | | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="35545844450405184147545b46455a474118424675051b051b06" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5360508Z | |   `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e28c8d86878891cf958780918d81898796a2d3ccd4ccd2" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5370502Z | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b8d9c2cdcadd95d1d7cc95dcddced1dbddf8899688968988" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5370502Z |   `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a6c7dcd3d4c38bd5d2c9d4c7c1c3e69788978896" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5370502Z |     `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="deacbbbfbabfbcb2bbf3adaaacbbbfb39eecf0eef0e8" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5380497Z |       +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3343415c505640401e5d564b475a50581e5241544073021d031d04" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5380497Z |       `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="7a0f0e1316571e1f0a081f191b0e1f3a4b544a5448" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5390498Z +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="67021f171502141427534956534957" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5390498Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="721311111702060132435c415c41" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5390498Z | | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ee8387838bc39a979e8b9daedcc0dfc0dfdf" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5400508Z | |   `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="026f6b6f672f666042332c30312c32" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5400508Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="24455656455d094248455050414a64150a150a15" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5420690Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d1b2bebfa5b4bfa5fcb5b8a2a1bea2b8a5b8bebf91e1ffe4ffe0" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5420690Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5f3c303034363a722c3638313e2b2a2d3a1f6e716f7169" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5430497Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d4b0b1b6a1b394e6fae6fae4" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5430497Z | | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="96fbe5d6a6b8a1b8a7" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5440674Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6d09081d092d5c435c435d" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5440674Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1a7f69797b6a7f37726e77765a2b342a3429" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5450502Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ec89988d8bacddc2dbc2dc" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5450502Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a4c2cdcac5c8ccc5cac0c8c1d6e4948a918a94" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5460530Z | | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="81f4eff1e8f1e4c1b0afb1afb1" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5460530Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="deb8acbbadb69eeef0edf0ee" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5470497Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="432e263124266e27263020312a33372c313003726d736d72" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5470497Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="9bf6feeff3f4ffe8dbaab5aab5a9" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5480496Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="640b0a49020d0a0d170c010024564a574a54" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5480496Z | | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b0d5d59dd6d9c2c3c4f0819e819e81" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5490499Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="cabaabb8b9afbfb8a68afbe4f9e4fb" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5490499Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5b2b3a2f33762f3476293e3c3e232b1b6b756a756c" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5500513Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="99e9ebf6e1e0b4f8fdfdebd9a8b7a8b7ab" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5500513Z | | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d7b1b8a5a0b6a5b3b2b397e7f9e6f9e7" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5500513Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5f2c3a313b1f6f716e6b716e" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5510491Z | | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="8ce8e9fff8fee3f5ccbda2bca2b8" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5510491Z | | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="fa9793979fbacbd4c9d4ce" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5520499Z | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4f3b363f2a62263c0f7e6179617e7c" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5520499Z | | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3f525a5b565e124b464f5a4d7f0f110c110f" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5520499Z | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="dca9a8b5b0aff1b1b9aebbb99cedf2ecf2ec" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5530492Z `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="7c0c091b3c4e524c524c511e19081d48" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5530492Z   +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="adddd8ca80cec2c9c880cac8c3ed9d839d839a" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5540495Z   | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="15717a76616c65706655243b243b25" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5540495Z   | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3d574e104e494f54535a545b447d0c130d130f" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5540495Z   | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e8989d8fc5899c9c9a9ba8dac6d8c6d9" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5550503Z   | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="87f1e8eee3aae2ebe2eae2e9f3f4c7b5a9b7a9b6" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5550503Z   +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6515100248030c091100171625544b574b56" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5550503Z   | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="afccc3cacec182ccdcdcef9c819b819e96" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5560494Z   | | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="572438222534327a3a3627176779637963" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5560494Z   | |   `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="60010d040506090e0520514e504e50" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5570499Z   | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c9a3babdbba8a7baafa6bba4acbb89f8e7f9e7f9" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5570499Z   | | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="fa9389d78a88959793899fbac8d4cbd4ca" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5570499Z   | | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3b4b49545652485e7b0c150a150a" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5580491Z   | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="88f8fdefa5ffe9e4e3c8b8a6b8a6bb" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5580491Z   | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="dcaeb9afb3b0aab99cedf2edf2eb" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5590498Z   | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a9dccec5c0cfd084c3dae99b879e8799" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5590498Z   |   +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="13607c666170763e7e726353233d263d25" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5590498Z   |   +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1d687a71747b64306972307f6f726a6e786f747b645d2c332d332f" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5600495Z   |   `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ee978f9c899daeddc0dfdec0de" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5600495Z   |     +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4526242820292624362005746b776b74" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5600495Z   |     +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c4a7a8adb1ad84f6eaf5eaf4" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5610497Z   |     | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4427212a3021366925282d232a04746a756a77" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5610497Z   |     | | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d5b4b9bcb2bbf8a1b0ada195e5fbe4fbe1" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5620497Z   |     | | | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b8d3d1d6dc95d7def88b9688968c" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5620497Z   |     | | | | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0d647e206f786b6b687f4d3c233c2339" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5620497Z   |     | | | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="dab6b5b4bdbfa9ae9aebf4eaf4eb" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5630568Z   |     | | | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="205245504541540d535452494e4760110e150e14" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5630568Z   |     | | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d5b9b4afacf8b6b4b6bdb095e4fbe5fbe1" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5640500Z   |     | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0d7f646a6579206c61646a634d3d233c233e" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5640500Z   |     | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="374058455340455647770719071905" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5640500Z   |     +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ea8e8f898b878f8683908faadbc4d8c4da" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5650495Z   |     `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="493e20272d263e643a20332c097967786779" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5650495Z   +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="156560723879706d706755273b253b27" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5660502Z   | +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3d5e555c4f5c5e49584f104d5c4f4e584f7d0f130f130d" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5660502Z   | | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2049530d524547455860110e100e13" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5660502Z   | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="355c4618504d45475046465c5a5b75071b041b05" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5670500Z   |   `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="432c21292620376e2230302a242d03776d726d73" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5670500Z   +-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="afdfdac882dfcedddccaddef9d819f819e" rel="noreferrer noopener nofollow">[email protected]</a>
2016-08-21T01:19:43.5670500Z   | `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="14607b7f717a3967606671757954243a243a25" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5680491Z   `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c9b9bcaee4babdbba0b9e4aaa6a4a4aca7bdba89f9e7f9e7f8" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5680491Z     `-- <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="f8888d9fd59d8a8a978ab8c8d6c8d6c8" rel="noreferrer noopener nofollow">[email protected]</a> 
2016-08-21T01:19:43.5820489Z ##[debug]rc:0
2016-08-21T01:19:43.5820489Z ##[debug]success:true
2016-08-21T01:19:43.5830501Z ##[debug]task result: Succeeded
2016-08-21T01:19:43.6100505Z Finishing task: Npm

例如,“express”模块文件夹由于未知原因缺少“index.js”、“LICENCE”和“package.json”文件。

最佳答案

我尝试利用npm install>存档文件>复制并发布构建工件>Azure Web App 部署 安装包、打包应用程序并部署到 Azure Web App 的工作流程。

enter image description here

以下是详细的构建步骤参数:

  • enter image description here

  • enter image description here

  • enter image description here

  • enter image description here

您可以引用https://www.visualstudio.com/docs/release/examples/nodejs/node-to-azure-webapps#build有关在类似场景中在 VSTS 中构建和部署工作流程的更多信息。

关于node.js - 除非先删除 node_modules 文件夹,否则 NPM 安装无法正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39060096/

相关文章:

node.js - 为什么 "npm install"删除了node_modules中的所有包?

javascript - 与 yarn 一起安装 devDependencies 和 dependencies

javascript - anchor 标记没有调用 React 中的 onClick 函数

azure - Azure 离线同步 API 中类到表映射的初始化

javascript - 403 从本地主机提供资源

azure - 是否可以在 Azure DevOps 中对每个项目进行成本分析?

azure - Windows azure项目替换ServiceConfiguration.Cloud.cscfg

node.js - 理解 npm 依赖关系

python - Node.js win32ole安装错误

node.js - 在mongodb中保存位置