【发布时间】:2017-04-12 13:30:50
【问题描述】:
我正在运行一个安装程序,它使用 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 控制台上运行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%" ]
}
有什么想法吗?
【问题讨论】:
-
您是否尝试过错误消息中所说的内容(重命名文件)?
-
如果这不起作用,请尝试
rm -rf ./node-modules然后npm install。 -
类似问题github.com/npm/npm/issues/9696,可以尝试在Azure上升级npm版本到3.x。
-
谢谢加里,你太棒了。这就是问题所在,我根据下面大卫的回答更新到 3.x,效果很好。
标签: node.js npm gulp azure-web-app-service kudu