Проблема с weyland в Azure Dev Ops

#azure-devops #azure-pipelines #durandal #weyland

#azure-devops #azure-конвейеры #durandal #Вейланд

Вопрос:

У меня есть приложение, созданное с помощью Durandal и используемое Weyland для его создания. Я Weyland установлен глобально, и когда я запускаю команду weyland build -c "pathtoconfig" локально, она работает и приводит к следующему результату

 info jshint Linting 6 files.  
info jshint Passed for App/cart/config.js.  
info jshint Passed for App/cart/main.js.  
info jshint Passed for App/cart/services/datacontext.js.  
info jshint Passed for App/cart/viewmodels/cart.js.  
info jshint Passed for App/cart/viewmodels/nextsteps.js.  
info jshint Passed for App/cart/viewmodels/shell.js.  
info uglifyjs Uglifying 22 files.  
info uglifyjs Uglified App/cart/config.js.  
info uglifyjs Uglified App/cart/main.js.  
WARN: Dropping unused function argument c [null:22,32]
  

Когда я запускаю ту же последовательность в Azure Dev Ops вместо WARN я получаю ошибку:

ОШИБКА! ошибка типа uglifyjs: sys.error не является функцией

 info jshint Linting 6 files.
info jshint Passed for App/cart/config.js.  
info jshint Passed for App/cart/main.js.  
info jshint Passed for App/cart/services/datacontext.js.  
info jshint Passed for App/cart/viewmodels/cart.js.  
info jshint Passed for App/cart/viewmodels/nextsteps.js.  
info jshint Passed for App/cart/viewmodels/shell.js.  
info uglifyjs Uglifying 22 files.  
info uglifyjs Uglified App/cart/config.js.  
info uglifyjs Uglified App/cart/main.js.  
ERR! uglifyjs TypeError: sys.error is not a function
  

Трассировка стека:

 ERR! uglifyjs TypeError: sys.error is not a function
ERR! uglifyjs     at Function.UglifyJS.AST_Node.warn_function (C:npmprefixnode_modulesweylandnode_modulesuglify-jstoolsnode.js:42:9)
ERR! uglifyjs     at Function.AST_Node.warn (C:npmprefixnode_modulesweylandnode_modulesuglify-jslibast.js:110:18)
ERR! uglifyjs     at Compressor.warn (C:npmprefixnode_modulesweylandnode_modulesuglify-jslibcompress.js:81:27)
ERR! uglifyjs     at TreeTransformer.before (C:npmprefixnode_modulesweylandnode_modulesuglify-jslibcompress.js:956:44)
ERR! uglifyjs     at AST_Defun.transform (C:npmprefixnode_modulesweylandnode_modulesuglify-jslibtransform.js:61:35)
ERR! uglifyjs     at C:npmprefixnode_modulesweylandnode_modulesuglify-jslibtransform.js:80:25
ERR! uglifyjs     at doit (C:npmprefixnode_modulesweylandnode_modulesuglify-jslibutils.js:114:23)
ERR! uglifyjs     at MAP (C:npmprefixnode_modulesweylandnode_modulesuglify-jslibutils.js:140:52)
ERR! uglifyjs     at do_list (C:npmprefixnode_modulesweylandnode_modulesuglify-jslibtransform.js:79:16)
ERR! uglifyjs     at C:npmprefixnode_modulesweylandnode_modulesuglify-jslibtransform.js:168:21
  

Сборка выполняется с помощью задачи командной строки.

И мой компьютер, и конвейер настроены с

 Node v12.16.2 
NPM 6.14.4
  

Почему виртуальная машина Azure Pipeline не отображает предупреждение? Как я могу это исправить?

Ответ №1:

Поскольку вы не предоставили общий доступ к заданному вами определению задачи, я предполагаю, что вы столкнулись с этой ошибкой, когда установлен флажок «Сбой при стандартной ошибке«.

введите описание изображения здесь

Потому что я столкнулся с такой же проблемой с вами, если я проверил этот параметр.

введите описание изображения здесь

Но эта неожиданная проблема исчезнет, если я сниму флажок «Сбой при стандартной ошибке«.

введите описание изображения здесь

Поэтому, чтобы устранить эту проблему, пожалуйста, убедитесь, что параметр «Сбой при стандартной ошибке» задачи командной строки не отмечен.

Комментарии:

1. Спасибо за ответ, но проблема не исчезает. Единственное отличие заключается в том, что задача не сообщается как неудачная. Если вы посмотрите на второй снимок экрана, задача по-прежнему не выполнена в строке 73, и сборка weyland фактически не завершена

2. @JonasStawski, Ооо, это я ожидаю ошибки. Кстати, вы использовали Размещенного агента или частного агента?

3. размещенный агент в Azure DevOps