在 kudu 上 运行 npm install gulp 时出错

Error when running npm install gulp on kudu

我正在运行设置一个设置,它使用 Azure Web 应用程序中的 Github 部署选项从 Github 自动部署我的应用程序。但是,我刚刚创建了一个新的 Azure Web 应用程序并使用通常的方法将我的应用程序部署到它,但是这次 gulpfile.js 中的 Gulp 函数未能 运行.

查看我的日志后,我发现了一条错误,说明如下:

[17:12:08] Local gulp not found in D:\home\site\repository\src\Hood
[17:12:08] Try running: npm install gulp

所以我直接在 kudu 控制台上尝试 运行ning npm install gulp 命令。我收到以下错误...

D:\home\site\repository>npm install gulp
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm ERR! Windows_NT 6.2.9200
npm ERR! argv "D:\Program Files (x86)\nodejs\4.4.7\node.exe" "D:\Program Files (x86)\npm\2.15.8\node_modules\npm\bin\npm-cli.js" "install" "gulp"
npm ERR! node v4.4.7
npm ERR! npm  v2.15.8
npm ERR! path D:\home\site\repository\node_modules\gulp\node_modules\gulp-util\node_modules\dateformat\node_modules\meow\node_modules\normalize-package-data\node_modules\validate-npm-package-license\node_modules\spdx-correct\node_modules\spdx-license-ids\package.json.1023181798
npm ERR! code EINVAL
npm ERR! errno -4071
npm ERR! syscall rename

npm ERR! EINVAL: invalid argument, rename 'D:\home\site\repository\node_modules\gulp\node_modules\gulp-util\node_modules\dateformat\node_modules\meow\node_modules\normalize-package-data\node_modules\validate-npm-package-license\node_modules\spdx-correct\node_modules\spdx-license-ids\package.json.1023181798' -> 'D:\home\site\repository\node_modules\gulp\node_modules\gulp-util\node_modules\dateformat\node_modules\meow\node_modules\normalize-package-data\node_modules\validate-npm-package-license\node_modules\spdx-correct\node_modules\spdx-license-ids\package.json'
npm ERR! 
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     D:\home\site\repository\npm-debug.log

仅供参考,这是我的 project.json 文件的 scripts 部分,我认为应该安装 gulp(如果需要)然后 运行 我的 gulp 函数调用 publish ...之前一直有效...

"scripts": {
    "prepublish": [ "npm install", "bower install", "npm install gulp", "gulp publish" ],
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
}

有什么想法吗?

很可能是 Windows 路径长度问题。尝试改用 npm 3.x ,因为它解决了很多问题。尝试在您的 Azure 应用程序设置中将 WEBSITE_NODE_DEFAULT_VERSION 设置为 6.9.1,这将为您提供更新的 Node 和更新的 npm。