Node.js Microsoft Azure持续集成-使用Grunt的NodeJs解决方案;编撰;步

Node.js Microsoft Azure持续集成-使用Grunt的NodeJs解决方案;编撰;步,node.js,azure,gruntjs,yeoman,bower,Node.js,Azure,Gruntjs,Yeoman,Bower,我的问题的一些先兆。 我可能会有点罗嗦的细节,但我只是想确保我没有遗漏任何可能导致我的问题。(我将在问题的末尾附加完整的错误日志。但我不希望任何人对此过于疯狂。我将尽可能地总结) 我使用yoangular命令创建了一个AngularJS项目 然后我创建了deploy.cmd和.deployment文件 将它推到Bitbucket上我的git存储库。(仅提交根文件夹文件以及测试和应用程序文件夹) 从那里,通过他们的网站快速设置将其链接到Azure 我的构建分为两部分:在部署期间安装grunt和bo

我的问题的一些先兆。

我可能会有点罗嗦的细节,但我只是想确保我没有遗漏任何可能导致我的问题。(我将在问题的末尾附加完整的错误日志。但我不希望任何人对此过于疯狂。我将尽可能地总结)

  • 我使用
    yoangular
    命令创建了一个AngularJS项目
  • 然后我创建了
    deploy.cmd
    .deployment
    文件
  • 将它推到Bitbucket上我的git存储库。(仅提交根文件夹文件以及测试和应用程序文件夹)
  • 从那里,通过他们的网站快速设置将其链接到Azure
  • 我的构建分为两部分:在部署期间安装grunt和bower(全局),然后在npm包安装期间安装grunt包
  • 然后我需要尝试将
    grunt build
    作为
    POST\u DEPLOYMENT\u操作运行
  • package.json(产品依赖项)

    deployment.cmd(为了简洁起见,省略了一些部分)

    我有两个问题:目前我的构建失败,出现以下错误:

    错误:指定的路径、文件名或两者都太长。充分 限定文件名必须少于260个字符,并且 目录名必须少于248个字符

    我相信grunt/它的一些依赖性是罪魁祸首,但我不知道如何克服这个障碍。我理解依赖项管理如何在节点中工作的方式是,它是一个嵌套结构,每个依赖项都有自己的
    node\u模块
    文件夹。。。走向无限&超越

    第二个问题

    正在站点根目录下查找app.js/server.js

    缺少server.js/app.js文件,未生成web.config

    我意识到app.js不在根目录中。我相信通过更改设置可以很容易地修复它,但我只能在Azure上编译解决方案后再这样做,因为app.js将位于一个名为
    dist
    的文件夹中,该文件夹在编译成功后创建

    完成错误日志

        Command: deploy.cmd
    Using custom deployment setting for POST_DEPLOYMENT_ACTION custom value is 'grunt build'.
    Handling node.js deployment.
    Looking for app.js/server.js under site root.
    Missing server.js/app.js files, web.config is not generated
    Node.js versions available on the platform are: 0.6.17, 0.6.20, 0.8.2, 0.8.19, 0.8.26, 0.8.27, 0.8.28, 0.10.5, 0.10.18, 0.10.21, 0.10.24, 0.10.26, 0.10.28, 0.10.29, 0.10.31, 0.10.32.
    Selected node.js version 0.10.32. Use package.json file to choose a different version.
    Updating iisnode.yml at D:\home\site\wwwroot\iisnode.yml
    installing bower
    C:\DWASFiles\Sites\~1businessintelligenceadviser\AppData\npm\bower -> C:\DWASFiles\Sites\~1businessintelligenceadviser\AppData\npm\node_modules\bower\bin\bower
    bower@1.3.12 C:\DWASFiles\Sites\~1businessintelligenceadviser\AppData\npm\node_modules\bower
    ├── is-root@1.0.0
    ├── junk@1.0.0
    ├── stringify-object@1.0.0
    ├── abbrev@1.0.5
    ├── chmodr@0.1.0
    ├── which@1.0.5
    ├── osenv@0.1.0
    ├── archy@0.0.2
    ├── opn@1.0.0
    ├── rimraf@2.2.8
    ├── bower-logger@0.2.2
    ├── lru-cache@2.5.0
    ├── bower-endpoint-parser@0.2.2
    ├── graceful-fs@3.0.4
    ├── lockfile@1.0.0
    ├── retry@0.6.0
    ├── nopt@3.0.1
    ├── tmp@0.0.23
    ├── request-progress@0.3.0 (throttleit@0.0.2)
    ├── q@1.0.1
    ├── shell-quote@1.4.2 (array-filter@0.0.1, array-reduce@0.0.0, array-map@0.0.0, jsonify@0.0.0)
    ├── chalk@0.5.0 (escape-string-regexp@1.0.2, ansi-styles@1.1.0, supports-color@0.2.0, strip-ansi@0.3.0, has-ansi@0.1.0)
    ├── semver@2.3.2
    ├── fstream@1.0.2 (inherits@2.0.1)
    ├── bower-json@0.4.0 (intersect@0.0.3, deep-extend@0.2.11, graceful-fs@2.0.3)
    ├── p-throttler@0.1.0 (q@0.9.7)
    ├��─ promptly@0.2.0 (read@1.0.5)
    ├── mkdirp@0.5.0 (minimist@0.0.8)
    ├── fstream-ignore@1.0.1 (inherits@2.0.1, minimatch@1.0.0)
    ├── bower-config@0.5.2 (osenv@0.0.3, graceful-fs@2.0.3, optimist@0.6.1)
    ├── tar-fs@0.5.2 (pump@0.3.5, tar-stream@0.4.7)
    ├── decompress-zip@0.0.8 (mkpath@0.1.0, nopt@2.2.1, touch@0.0.2, readable-stream@1.1.13, binary@0.3.0)
    ├── glob@4.0.6 (inherits@2.0.1, once@1.3.1, minimatch@1.0.0)
    ├── request@2.42.0 (caseless@0.6.0, json-stringify-safe@5.0.0, forever-agent@0.5.2, aws-sign2@0.5.0, stringstream@0.0.4, oauth-sign@0.4.0, tunnel-agent@0.4.0, node-uuid@1.4.1, qs@1.2.2, mime-types@1.0.2, form-data@0.1.4, bl@0.9.3, tough-cookie@0.12.1, http-signature@0.10.0, hawk@1.1.1)
    ├── bower-registry-client@0.2.1 (graceful-fs@2.0.3, request-replay@0.2.0, lru-cache@2.3.1, async@0.2.10, mkdirp@0.3.5, request@2.27.0)
    ├── cardinal@0.4.0 (redeyed@0.4.4)
    ├── update-notifier@0.2.0 (semver-diff@0.1.0, string-length@0.1.2, latest-version@0.2.0, configstore@0.3.1)
    ├── mout@0.9.1
    ├── handlebars@2.0.0 (optimist@0.3.7, uglify-js@2.3.6)
    ├── inquirer@0.7.1 (figures@1.3.3, mute-stream@0.0.4, through@2.3.6, readline2@0.1.0, lodash@2.4.1, rx@2.3.14, cli-color@0.3.2)
    └── insight@0.4.3 (object-assign@1.0.0, async@0.9.0, chalk@0.5.1, os-name@1.0.1, lodash.debounce@2.4.1, tough-cookie@0.12.1, configstore@0.3.1, inquirer@0.6.0)
    installing bower success
    installing grunt-cli
    C:\DWASFiles\Sites\~1businessintelligenceadviser\AppData\npm\grunt -> C:\DWASFiles\Sites\~1businessintelligenceadviser\AppData\npm\node_modules\grunt-cli\bin\grunt
    grunt-cli@0.1.13 C:\DWASFiles\Sites\~1businessintelligenceadviser\AppData\npm\node_modules\grunt-cli
    ├── nopt@1.0.10 (abbrev@1.0.5)
    ├── resolve@0.3.1
    └── findup-sync@0.1.3 (glob@3.2.11, lodash@2.4.1)
    installing grunt-cli success
    installing npm packages
    npm WARN package.json businessintelligenceadviser@0.0.0 No description
    npm WARN package.json businessintelligenceadviser@0.0.0 No repository field.
    npm WARN package.json businessintelligenceadviser@0.0.0 No README data
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-gifsicle\node_modules\gifsicle\node_modules\bin-wrapper\node_modules\bin-check\node_modules\executable\node_modules\meow\node_modules\indent-string requires minimist@'^1.1.0' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-gifsicle\node_modules\gifsicle\node_modules\bin-wrapper\node_modules\bin-check\node_modules\executable\node_modules\meow\node_modules\indent-string\node_modules\repeating\node_modules\meow requires minimist@'^1.1.0' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtran-bin\node_modules\bin-wrapper\node_modules\bin-version-check\node_modules\bin-version\node_modules\find-versions requires minimist@'^1.1.0' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtran-bin\node_modules\bin-wrapper\node_modules\download\node_modules\decompress-tar requires vinyl@'^0.4.3' but will load
    npm WARN unmet dependency undefined,
    installing npm packages 
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtran-bin\node_modules\bin-wrapper\node_modules\download\node_modules\decompress-tarbz2 requires vinyl@'^0.4.3' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtran-bin\node_modules\bin-wrapper\node_modules\download\node_modules\decompress-targz requires vinyl@'^0.4.3' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtran-bin\node_modules\bin-wrapper\node_modules\download\node_modules\decompress-unzip requires vinyl@'^0.4.3' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtran-bin\node_modules\bin-wrapper\node_modules\download\node_modules\vinyl-fs requires vinyl@'^0.4.0' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-optipng\node_modules\optipng-bin\node_modules\bin-build\node_modules\download\node_modules\vinyl-fs\node_modules\glob-stream\node_modules\glob2base requires lodash@'^2.4.1' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-optipng\node_modules\optipng-bin\node_modules\bin-wrapper\node_modules\bin-check\node_modules\executable\node_modules\meow\node_modules\indent-string requires minimist@'^1.1.0' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-optipng\node_modules\optipng-bin\node_modules\bin-wrapper\node_modules\bin-check\node_modules\executable\node_modules\meow\node_modules\indent-string\node_modules\repeating\node_modules\meow requires minimist@'^1.1.0' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-optipng\node_modules\optipng-bin\node_modules\bin-wrapper\node_modules\bin-version-check\node_modules\bin-version\node_modules\find-versions requires minimist@'^1.1.0' but will load
    npm WARN unmet dependency undefined,
    KuduSync.NET from: 'D:\home\site\repository' to: 'D:\home\site\wwwroot'
    Copying file: 'node_modules\grunt-autoprefixer\.travis.yml'
    npm WARN unmet dependency which is version undefined
    Copying file: 'node_modules\grunt-autoprefixer\CHANGELOG'
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-pngquant\node_modules\pngquant-bin\node_modules\bin-build\node_modules\download\node_modules\meow\node_modules\indent-string requires minimist@'^1.1.0' but will load
    Copying file: 'node_modules\grunt-autoprefixer\LICENSE-MIT'
    npm WARN unmet dependency undefined,
    Copying file: 'node_modules\grunt-autoprefixer\package.json'
    npm WARN unmet dependency which is version undefined
    Copying file: 'node_modules\grunt-autoprefixer\README.md'
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-pngquant\node_modules\pngquant-bin\node_modules\bin-wrapper\node_modules\bin-check\node_modules\executable\node_modules\meow\node_modules\indent-string requires minimist@'^1.1.0' but will load
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\.bin\autoprefixer'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\.bin\autoprefixer.cmd'
    npm WARN unmet dependency undefined,
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\ChangeLog.md'
    npm WARN unmet dependency which is version undefined
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\LICENSE'
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-pngquant\node_modules\pngquant-bin\node_modules\bin-wrapper\node_modules\bin-check\node_modules\executable\node_modules\meow\node_modules\indent-string\node_modules\repeating\node_modules\meow requires minimist@'^1.1.0' but will load
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\package.json'
    npm WARN unmet dependency undefined,
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\README.md'
    npm WARN unmet dependency which is version undefined
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\bin\autoprefixer'
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-pngquant\node_modules\pngquant-bin\node_modules\bin-wrapper\node_modules\download\node_modules\meow\node_modules\indent-string requires minimist@'^1.1.0' but will load
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\data\browsers.js'
    npm WARN unmet dependency undefined,
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\data\prefixes.js'
    npm WARN unmet dependency which is version undefined
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\autoprefixer.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\binary.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\browsers.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\caniuse.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\declaration.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\info.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\keyframes.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\old-selector.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\old-value.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\prefixer.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\prefixes.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\processor.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\selector.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\utils.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\value.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\align-content.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\align-items.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\align-self.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\background-size.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\border-image.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\border-radius.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\break-inside.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\display-flex.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\fill-available.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\filter.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\flex-basis.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\flex-direction.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\flex-flow.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\flex-grow.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\flex-shrink.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\flex-spec.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\flex-wrap.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\flex.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\fullscreen.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\gradient.js'
    Omitting next output lines...
    Processed 975 files...
    Error: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
    Failed exitCode=1, command="kudusync" -v 50 -f "D:\home\site\repository" -t "D:\home\site\wwwroot" -n "D:\home\site\deployments\360cd39f800d7a19bf82bb41d4bd85830829a303\manifest" -p "D:\home\site\deployments\8ff648ca5da1071c0480e2ad3aa8a82eafeccb00\manifest" -i ".git;.hg;.deployment;deploy.cmd"
    An error has occurred during web site deployment.
    

    路径错误也是我在繁重的工作中遇到的。似乎是Windows的问题,没有任何简单/好的解决方案

    我们在繁重的工作中所做的一件事就是在Windows中大量使用符号链接

    例如,我们在一个目录中一次性安装所有Grunt依赖项,然后创建符号链接,作为构建该目录的一部分。这可能有助于克服长目录/文件名问题

    关于第二个问题还不是很清楚,但是如果文件存在于其他地方,mklink可能也能提供帮助

    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    :: Deployment
    :: ----------
    
    :Deployment
    echo Handling node.js deployment.
    
    :: 1. Select node version
    call :SelectNodeVersion
    
    :: 2. Install bower packages
    IF EXIST "%DEPLOYMENT_TARGET%\bower.json" (
      echo installing bower
      call :ExecuteCmd !NPM_CMD! install -g bower
      IF !ERRORLEVEL! NEQ 0 goto error
      echo installing bower success
      popd
    )
    
    :: 3. Install Grunt
    IF EXIST "%DEPLOYMENT_TARGET%\Gruntfile.js" (
      echo installing grunt-cli
      call :ExecuteCmd !NPM_CMD! install -g grunt-cli
      IF !ERRORLEVEL! NEQ 0 goto error
      echo installing grunt-cli success
      popd
    )
    
    :: 4. Install npm packages
    IF EXIST "%DEPLOYMENT_TARGET%\package.json" (
      echo installing npm packages
      pushd "%DEPLOYMENT_TARGET%"
      call :ExecuteCmd !NPM_CMD! install --production
      IF !ERRORLEVEL! NEQ 0 goto error
      echo installing npm packages 
      popd
    )
    
    :: 5. KuduSync
    IF /I "%IN_PLACE_DEPLOYMENT%" NEQ "1" (
      call :ExecuteCmd "%KUDU_SYNC_CMD%" -v 50 -f "%DEPLOYMENT_SOURCE%" -t "%DEPLOYMENT_TARGET%" -n "%NEXT_MANIFEST_PATH%" -p "%PREVIOUS_MANIFEST_PATH%" -i ".git;.hg;.deployment;deploy.cmd"
      IF !ERRORLEVEL! NEQ 0 goto error
    )
    
    
    :: Post deployment stub
    IF DEFINED POST_DEPLOYMENT_ACTION ( 
    
      echo  "%POST_DEPLOYMENT_ACTION%"
      echo %0
    
      call :ExecuteCmd "%POST_DEPLOYMENT_ACTION%"
      IF !ERRORLEVEL! NEQ 0 goto error
    )
    
        Command: deploy.cmd
    Using custom deployment setting for POST_DEPLOYMENT_ACTION custom value is 'grunt build'.
    Handling node.js deployment.
    Looking for app.js/server.js under site root.
    Missing server.js/app.js files, web.config is not generated
    Node.js versions available on the platform are: 0.6.17, 0.6.20, 0.8.2, 0.8.19, 0.8.26, 0.8.27, 0.8.28, 0.10.5, 0.10.18, 0.10.21, 0.10.24, 0.10.26, 0.10.28, 0.10.29, 0.10.31, 0.10.32.
    Selected node.js version 0.10.32. Use package.json file to choose a different version.
    Updating iisnode.yml at D:\home\site\wwwroot\iisnode.yml
    installing bower
    C:\DWASFiles\Sites\~1businessintelligenceadviser\AppData\npm\bower -> C:\DWASFiles\Sites\~1businessintelligenceadviser\AppData\npm\node_modules\bower\bin\bower
    bower@1.3.12 C:\DWASFiles\Sites\~1businessintelligenceadviser\AppData\npm\node_modules\bower
    ├── is-root@1.0.0
    ├── junk@1.0.0
    ├── stringify-object@1.0.0
    ├── abbrev@1.0.5
    ├── chmodr@0.1.0
    ├── which@1.0.5
    ├── osenv@0.1.0
    ├── archy@0.0.2
    ├── opn@1.0.0
    ├── rimraf@2.2.8
    ├── bower-logger@0.2.2
    ├── lru-cache@2.5.0
    ├── bower-endpoint-parser@0.2.2
    ├── graceful-fs@3.0.4
    ├── lockfile@1.0.0
    ├── retry@0.6.0
    ├── nopt@3.0.1
    ├── tmp@0.0.23
    ├── request-progress@0.3.0 (throttleit@0.0.2)
    ├── q@1.0.1
    ├── shell-quote@1.4.2 (array-filter@0.0.1, array-reduce@0.0.0, array-map@0.0.0, jsonify@0.0.0)
    ├── chalk@0.5.0 (escape-string-regexp@1.0.2, ansi-styles@1.1.0, supports-color@0.2.0, strip-ansi@0.3.0, has-ansi@0.1.0)
    ├── semver@2.3.2
    ├── fstream@1.0.2 (inherits@2.0.1)
    ├── bower-json@0.4.0 (intersect@0.0.3, deep-extend@0.2.11, graceful-fs@2.0.3)
    ├── p-throttler@0.1.0 (q@0.9.7)
    ├��─ promptly@0.2.0 (read@1.0.5)
    ├── mkdirp@0.5.0 (minimist@0.0.8)
    ├── fstream-ignore@1.0.1 (inherits@2.0.1, minimatch@1.0.0)
    ├── bower-config@0.5.2 (osenv@0.0.3, graceful-fs@2.0.3, optimist@0.6.1)
    ├── tar-fs@0.5.2 (pump@0.3.5, tar-stream@0.4.7)
    ├── decompress-zip@0.0.8 (mkpath@0.1.0, nopt@2.2.1, touch@0.0.2, readable-stream@1.1.13, binary@0.3.0)
    ├── glob@4.0.6 (inherits@2.0.1, once@1.3.1, minimatch@1.0.0)
    ├── request@2.42.0 (caseless@0.6.0, json-stringify-safe@5.0.0, forever-agent@0.5.2, aws-sign2@0.5.0, stringstream@0.0.4, oauth-sign@0.4.0, tunnel-agent@0.4.0, node-uuid@1.4.1, qs@1.2.2, mime-types@1.0.2, form-data@0.1.4, bl@0.9.3, tough-cookie@0.12.1, http-signature@0.10.0, hawk@1.1.1)
    ├── bower-registry-client@0.2.1 (graceful-fs@2.0.3, request-replay@0.2.0, lru-cache@2.3.1, async@0.2.10, mkdirp@0.3.5, request@2.27.0)
    ├── cardinal@0.4.0 (redeyed@0.4.4)
    ├── update-notifier@0.2.0 (semver-diff@0.1.0, string-length@0.1.2, latest-version@0.2.0, configstore@0.3.1)
    ├── mout@0.9.1
    ├── handlebars@2.0.0 (optimist@0.3.7, uglify-js@2.3.6)
    ├── inquirer@0.7.1 (figures@1.3.3, mute-stream@0.0.4, through@2.3.6, readline2@0.1.0, lodash@2.4.1, rx@2.3.14, cli-color@0.3.2)
    └── insight@0.4.3 (object-assign@1.0.0, async@0.9.0, chalk@0.5.1, os-name@1.0.1, lodash.debounce@2.4.1, tough-cookie@0.12.1, configstore@0.3.1, inquirer@0.6.0)
    installing bower success
    installing grunt-cli
    C:\DWASFiles\Sites\~1businessintelligenceadviser\AppData\npm\grunt -> C:\DWASFiles\Sites\~1businessintelligenceadviser\AppData\npm\node_modules\grunt-cli\bin\grunt
    grunt-cli@0.1.13 C:\DWASFiles\Sites\~1businessintelligenceadviser\AppData\npm\node_modules\grunt-cli
    ├── nopt@1.0.10 (abbrev@1.0.5)
    ├── resolve@0.3.1
    └── findup-sync@0.1.3 (glob@3.2.11, lodash@2.4.1)
    installing grunt-cli success
    installing npm packages
    npm WARN package.json businessintelligenceadviser@0.0.0 No description
    npm WARN package.json businessintelligenceadviser@0.0.0 No repository field.
    npm WARN package.json businessintelligenceadviser@0.0.0 No README data
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-gifsicle\node_modules\gifsicle\node_modules\bin-wrapper\node_modules\bin-check\node_modules\executable\node_modules\meow\node_modules\indent-string requires minimist@'^1.1.0' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-gifsicle\node_modules\gifsicle\node_modules\bin-wrapper\node_modules\bin-check\node_modules\executable\node_modules\meow\node_modules\indent-string\node_modules\repeating\node_modules\meow requires minimist@'^1.1.0' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtran-bin\node_modules\bin-wrapper\node_modules\bin-version-check\node_modules\bin-version\node_modules\find-versions requires minimist@'^1.1.0' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtran-bin\node_modules\bin-wrapper\node_modules\download\node_modules\decompress-tar requires vinyl@'^0.4.3' but will load
    npm WARN unmet dependency undefined,
    installing npm packages 
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtran-bin\node_modules\bin-wrapper\node_modules\download\node_modules\decompress-tarbz2 requires vinyl@'^0.4.3' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtran-bin\node_modules\bin-wrapper\node_modules\download\node_modules\decompress-targz requires vinyl@'^0.4.3' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtran-bin\node_modules\bin-wrapper\node_modules\download\node_modules\decompress-unzip requires vinyl@'^0.4.3' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtran-bin\node_modules\bin-wrapper\node_modules\download\node_modules\vinyl-fs requires vinyl@'^0.4.0' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-optipng\node_modules\optipng-bin\node_modules\bin-build\node_modules\download\node_modules\vinyl-fs\node_modules\glob-stream\node_modules\glob2base requires lodash@'^2.4.1' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-optipng\node_modules\optipng-bin\node_modules\bin-wrapper\node_modules\bin-check\node_modules\executable\node_modules\meow\node_modules\indent-string requires minimist@'^1.1.0' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-optipng\node_modules\optipng-bin\node_modules\bin-wrapper\node_modules\bin-check\node_modules\executable\node_modules\meow\node_modules\indent-string\node_modules\repeating\node_modules\meow requires minimist@'^1.1.0' but will load
    npm WARN unmet dependency undefined,
    npm WARN unmet dependency which is version undefined
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-optipng\node_modules\optipng-bin\node_modules\bin-wrapper\node_modules\bin-version-check\node_modules\bin-version\node_modules\find-versions requires minimist@'^1.1.0' but will load
    npm WARN unmet dependency undefined,
    KuduSync.NET from: 'D:\home\site\repository' to: 'D:\home\site\wwwroot'
    Copying file: 'node_modules\grunt-autoprefixer\.travis.yml'
    npm WARN unmet dependency which is version undefined
    Copying file: 'node_modules\grunt-autoprefixer\CHANGELOG'
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-pngquant\node_modules\pngquant-bin\node_modules\bin-build\node_modules\download\node_modules\meow\node_modules\indent-string requires minimist@'^1.1.0' but will load
    Copying file: 'node_modules\grunt-autoprefixer\LICENSE-MIT'
    npm WARN unmet dependency undefined,
    Copying file: 'node_modules\grunt-autoprefixer\package.json'
    npm WARN unmet dependency which is version undefined
    Copying file: 'node_modules\grunt-autoprefixer\README.md'
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-pngquant\node_modules\pngquant-bin\node_modules\bin-wrapper\node_modules\bin-check\node_modules\executable\node_modules\meow\node_modules\indent-string requires minimist@'^1.1.0' but will load
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\.bin\autoprefixer'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\.bin\autoprefixer.cmd'
    npm WARN unmet dependency undefined,
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\ChangeLog.md'
    npm WARN unmet dependency which is version undefined
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\LICENSE'
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-pngquant\node_modules\pngquant-bin\node_modules\bin-wrapper\node_modules\bin-check\node_modules\executable\node_modules\meow\node_modules\indent-string\node_modules\repeating\node_modules\meow requires minimist@'^1.1.0' but will load
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\package.json'
    npm WARN unmet dependency undefined,
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\README.md'
    npm WARN unmet dependency which is version undefined
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\bin\autoprefixer'
    npm WARN unmet dependency D:\home\site\wwwroot\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-pngquant\node_modules\pngquant-bin\node_modules\bin-wrapper\node_modules\download\node_modules\meow\node_modules\indent-string requires minimist@'^1.1.0' but will load
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\data\browsers.js'
    npm WARN unmet dependency undefined,
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\data\prefixes.js'
    npm WARN unmet dependency which is version undefined
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\autoprefixer.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\binary.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\browsers.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\caniuse.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\declaration.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\info.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\keyframes.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\old-selector.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\old-value.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\prefixer.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\prefixes.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\processor.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\selector.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\utils.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\value.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\align-content.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\align-items.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\align-self.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\background-size.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\border-image.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\border-radius.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\break-inside.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\display-flex.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\fill-available.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\filter.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\flex-basis.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\flex-direction.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\flex-flow.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\flex-grow.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\flex-shrink.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\flex-spec.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\flex-wrap.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\flex.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\fullscreen.js'
    Copying file: 'node_modules\grunt-autoprefixer\node_modules\autoprefixer\lib\hacks\gradient.js'
    Omitting next output lines...
    Processed 975 files...
    Error: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
    Failed exitCode=1, command="kudusync" -v 50 -f "D:\home\site\repository" -t "D:\home\site\wwwroot" -n "D:\home\site\deployments\360cd39f800d7a19bf82bb41d4bd85830829a303\manifest" -p "D:\home\site\deployments\8ff648ca5da1071c0480e2ad3aa8a82eafeccb00\manifest" -i ".git;.hg;.deployment;deploy.cmd"
    An error has occurred during web site deployment.