Ошибка при запуске npm install gulp на kudu

Я запускаю установку, которая автоматически развертывает мое приложение из Github, используя параметр развертывания Github в Azure Web Apps. Однако я только что создал новое веб-приложение Azure и развернул в нем свое приложение, используя обычный метод, однако на этот раз функции Gulp в моем файле gulpfile.js не запустились.

Просматривая свои журналы, я обнаружил ошибку, в которой говорилось следующее:

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

Поэтому я попытался запустить команду npm install gulp непосредственно на консоли kudu. И получаю следующую ошибку...

D:\home\site\repository>npm install gulp
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: 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

К вашему сведению, вот раздел scripts моего файла project.json, который должен (как я думал) установить 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%" ]
}

Любые идеи?


person Jorje Redemption    schedule 28.11.2016    source источник
comment
Вы пробовали то, что говорится в сообщении об ошибке (переименовать файл)?   -  person Aurora0001    schedule 28.11.2016
comment
Если это не сработает, попробуйте rm -rf ./node-modules, а затем npm install.   -  person Aurora0001    schedule 28.11.2016
comment
Аналогичная проблема на github.com/npm/npm/issues/9696, вы можете попробовать для обновления версии npm до 3.x в Azure.   -  person Gary Liu    schedule 29.11.2016
comment
Спасибо Гэри, ты на высоте. В этом была проблема, я обновился до 3.x в соответствии с ответом Дэвида ниже, сработало отлично.   -  person Jorje Redemption    schedule 29.11.2016


Ответы (1)


Скорее всего, это проблема длины пути Windows. Вместо этого попробуйте использовать npm 3.x, так как он решает многие из них. Попробуйте установить WEBSITE_NODE_DEFAULT_VERSION на 6.9.1 в настройках приложения Azure, что даст вам как более новый узел, так и более новый npm.

person David Ebbo    schedule 28.11.2016
comment
Идеальный! Работал первый раз. Ваше здоровье!! - person Jorje Redemption; 29.11.2016