0

So this is certainly an interesting situation. Have an ASP.NET MVC4 site which is leveraging bower and gulp. I have this site hooked into GitHub and using Azure's continuous integration. This worked perfectly fine out of box until I wanted to also integrate my gulp tasks into the automated build process.

So, I went ahead and installed the Azure CLI tools through npm. I was then able to generate a custom deployment script (deploy.cmd). Through that, I was able to edit it and add some custom scripts I found through querying the best way to accomplish npm installs, bower installs and gulp tasks through Azure. In particular, here's what I added (in case you're curious):

:: NPM
echo Moving to source directory
pushd "source\MeMeMe.Web"

echo Installing npm packages: Starting %TIME%
call :ExecuteCmd npm install
echo Installing npm packages: Finished %TIME%
IF !ERRORLEVEL! NEQ 0 goto error

:: Bower
echo Installing bower packages: Starting %TIME%
call :ExecuteCmd "bower" install
echo Installing bower packages: Finished %TIME%
IF !ERRORLEVEL! NEQ 0 goto error

:: Gulp
echo Running Gulp: Starting %TIME%
call :ExecuteCmd "gulp"
echo Running Gulp: Finished %TIME%

echo Publishing dist folder files to temporary deployment location
call :ExecuteCmd "xcopy" "%DEPLOYMENT_SOURCE%\source\MeMeMe.Web\dist\*.*" "%DEPLOYMENT_TEMP%\dist" /S /Y /I
echo Done publishing dist folder files to temporary deployment location

IF !ERRORLEVEL! NEQ 0 goto error

:: Heading back to the stock KuduSync that follows
echo Moving back from source directory
popd

Now, as an aside, my package.json does NOT have bower included in it. I've read rumblings out there that Azure Websites have bower installed globally...but so far this had not worked. Every time I try a deploy without bower as a package, my npm log falls over asking for it inside the .bin directory to no avail.

So to mitigate that issue I (begrudgingly) added bower as a dependency in my package.json and checked in the code.

After about 6 minutes of building on Azure, the process fails. In the npm log, we see numerous npm errors like this one:

npm ERR! enoent ENOENT: no such file or directory, rename

And under rename is a very long path. So bower doesn't install.

Is anyone aware of any workarounds to this? Without having to install bower as a dependency and then checking in node_modules into Git, of course. I'm at a loss to alternatives.

EDIT: Here's the full log (I changed the name of my client to MeMeMe, FWIW):

Command: deploy.cmd
Handling .NET Web Application deployment.
MSBuild auto-detection: using msbuild version '14.0' from 'D:\Program Files (x86)\MSBuild\14.0\bin'.
All packages listed in packages.config are already installed.
  MeMeMe.Core -> D:\home\site\repository\source\MeMeMe.Core\bin\Release\MeMeMe.Core.dll
  No way to resolve conflict between "System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" and "System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35". Choosing "System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" arbitrarily.
  No way to resolve conflict between "System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" and "System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35". Choosing "System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" arbitrarily.
  Consider app.config remapping of assembly "System.Web.Mvc, Culture=neutral, PublicKeyToken=31bf3856ad364e35" from Version "5.0.0.0" [] to Version "5.2.3.0" [D:\home\site\repository\source\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll] to solve conflict and get rid of warning.
  Consider app.config remapping of assembly "System.Web.Razor, Culture=neutral, PublicKeyToken=31bf3856ad364e35" from Version "1.0.0.0" [d:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.Razor.dll] to Version "3.0.0.0" [D:\home\site\repository\source\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll] to solve conflict and get rid of warning.
  Consider app.config remapping of assembly "Microsoft.Owin, Culture=neutral, PublicKeyToken=31bf3856ad364e35" from Version "2.1.0.0" [] to Version "3.0.1.0" [D:\home\site\repository\source\packages\Microsoft.Owin.3.0.1\lib\net45\Microsoft.Owin.dll] to solve conflict and get rid of warning.
  Consider app.config remapping of assembly "System.Web.Http, Culture=neutral, PublicKeyToken=31bf3856ad364e35" from Version "4.0.0.0" [] to Version "5.2.3.0" [D:\home\site\repository\source\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll] to solve conflict and get rid of warning.
  Consider app.config remapping of assembly "Newtonsoft.Json, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" from Version "4.5.0.0" [] to Version "6.0.0.0" [D:\home\site\repository\source\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll] to solve conflict and get rid of warning.
  Consider app.config remapping of assembly "System.Net.Http.Formatting, Culture=neutral, PublicKeyToken=31bf3856ad364e35" from Version "4.0.0.0" [] to Version "5.2.3.0" [D:\home\site\repository\source\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll] to solve conflict and get rid of warning.
  Consider app.config remapping of assembly "System.Web.WebPages.Razor, Culture=neutral, PublicKeyToken=31bf3856ad364e35" from Version "1.0.0.0" [d:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.WebPages.Razor.dll] to Version "3.0.0.0" [D:\home\site\repository\source\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll] to solve conflict and get rid of warning.
  Consider app.config remapping of assembly "Microsoft.Owin.Security, Culture=neutral, PublicKeyToken=31bf3856ad364e35" from Version "2.1.0.0" [] to Version "3.0.1.0" [D:\home\site\repository\source\packages\Microsoft.Owin.Security.3.0.1\lib\net45\Microsoft.Owin.Security.dll] to solve conflict and get rid of warning.
  Consider app.config remapping of assembly "System.Web.WebPages.Deployment, Culture=neutral, PublicKeyToken=31bf3856ad364e35" from Version "1.0.0.0" [d:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.WebPages.Deployment.dll] to Version "3.0.0.0" [D:\home\site\repository\source\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll] to solve conflict and get rid of warning.
  Consider app.config remapping of assembly "MySql.Data, Culture=neutral, PublicKeyToken=c5687fc88969c44d" from Version "6.9.7.0" [] to Version "6.9.8.0" [D:\home\site\repository\source\packages\MySql.Data.6.9.8\lib\net45\MySql.Data.dll] to solve conflict and get rid of warning.
  Consider app.config remapping of assembly "Microsoft.Owin.Security.OAuth, Culture=neutral, PublicKeyToken=31bf3856ad364e35" from Version "2.1.0.0" [] to Version "3.0.1.0" [D:\home\site\repository\source\packages\Microsoft.Owin.Security.OAuth.3.0.1\lib\net45\Microsoft.Owin.Security.OAuth.dll] to solve conflict and get rid of warning.
  Consider app.config remapping of assembly "Microsoft.Owin.Security.Cookies, Culture=neutral, PublicKeyToken=31bf3856ad364e35" from Version "2.1.0.0" [] to Version "3.0.1.0" [D:\home\site\repository\source\packages\Microsoft.Owin.Security.Cookies.3.0.1\lib\net45\Microsoft.Owin.Security.Cookies.dll] to solve conflict and get rid of warning.
  Consider app.config remapping of assembly "System.Web.WebPages, Culture=neutral, PublicKeyToken=31bf3856ad364e35" from Version "1.0.0.0" [d:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.WebPages.dll] to Version "3.0.0.0" [D:\home\site\repository\source\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll] to solve conflict and get rid of warning.
D:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1819,5): warning MSB3247: Found conflicts between different versions of the same dependent assembly. In Visual Studio, double-click this warning (or select it and press Enter) to fix the conflicts; otherwise, add the following binding redirects to the "runtime" node in the application configuration file: <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="System.Web.Mvc" culture="neutral" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" /></dependentAssembly></assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="System.Web.Razor" culture="neutral" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /></dependentAssembly></assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="Microsoft.Owin" culture="neutral" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" /></dependentAssembly></assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="System.Web.Http" culture="neutral" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" /></dependentAssembly></assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" /><bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /></dependentAssembly></assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="System.Net.Http.Formatting" culture="neutral" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" /></dependentAssembly></assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="System.Web.WebPages.Razor" culture="neutral" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /></dependentAssembly></assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="Microsoft.Owin.Security" culture="neutral" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" /></dependentAssembly></assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="System.Web.WebPages.Deployment" culture="neutral" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /></dependentAssembly></assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="MySql.Data" culture="neutral" publicKeyToken="c5687fc88969c44d" /><bindingRedirect oldVersion="0.0.0.0-6.9.8.0" newVersion="6.9.8.0" /></dependentAssembly></assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="Microsoft.Owin.Security.OAuth" culture="neutral" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" /></dependentAssembly></assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="Microsoft.Owin.Security.Cookies" culture="neutral" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" /></dependentAssembly></assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="System.Web.WebPages" culture="neutral" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /></dependentAssembly></assemblyBinding> [D:\home\site\repository\source\MeMeMe.Data\MeMeMe.Data.csproj]
  MeMeMe.Data -> D:\home\site\repository\source\MeMeMe.Data\bin\Release\MeMeMe.Data.dll
  MeMeMe.Web -> D:\home\site\repository\source\MeMeMe.Web\bin\MeMeMe.Web.dll
  Transformed Web.config using D:\home\site\repository\source\MeMeMe.Web\Web.Release.config into obj\Release\TransformWebConfig\transformed\Web.config.
  Copying all files to temporary location below for package/publish:
  D:\local\Temp\8d31a1b73c1e2d3.
Moving to source directory
Installing npm packages: Starting  0:10:45.63
npm WARN deprecated lodash@1.0.2: lodash@<2.0.0 is no longer maintained. Upgrade to lodash@^3.0.0
npm WARN deprecated npmconf@2.1.2: this package has been reintegrated into npm and is now out of date with respect to npm
MeMeMe.Web@1.0.0 D:\home\site\repository\source\MeMeMe.Web
+-- del@2.2.0 
¦ +-- globby@4.0.0 
¦ ¦ +-- array-union@1.0.1 
¦ ¦ +-- arrify@1.0.1 
¦ ¦ +-- glob@6.0.4 
¦ ¦   +-- inflight@1.0.4 
¦ ¦   ¦ +-- wrappy@1.0.1 
¦ ¦   +-- once@1.3.3 
¦ ¦   +-- path-is-absolute@1.0.0 
¦ +-- is-path-cwd@1.0.0 
¦ +-- is-path-in-cwd@1.0.0 
¦ ¦ +-- is-path-inside@1.0.0 
¦ ¦   +-- path-is-inside@1.0.1 
¦ +-- object-assign@4.0.1 
¦ +-- pify@2.3.0 
¦ +-- pinkie-promise@2.0.0 
¦ ¦ +-- pinkie@2.0.1 
¦ +-- rimraf@2.5.0 
+-- gulp@3.9.0 
¦ +-- archy@1.0.0 
¦ +-- chalk@1.1.1 
¦ ¦ +-- ansi-styles@2.1.0 
¦ ¦ +-- escape-string-regexp@1.0.4 
¦ ¦ +-- has-ansi@2.0.0 
¦ ¦ ¦ +-- ansi-regex@2.0.0 
¦ ¦ +-- strip-ansi@3.0.0 
¦ ¦ +-- supports-color@2.0.0 
¦ +-- deprecated@0.0.1 
¦ +-?? interpret@0.6.6 
¦ +-- liftoff@2.2.0 
¦ ¦ +-- extend@2.0.1 
¦ ¦ +-- findup-sync@0.3.0 
¦ ¦ ¦ +-- glob@5.0.15 
¦ ¦ +-- flagged-respawn@0.3.1 
¦ ¦ +-- rechoir@0.6.2 
¦ ¦ +-- resolve@1.1.6 
¦ +-- minimist@1.2.0 
¦ +-- orchestrator@0.3.7 
¦ ¦ +-- end-of-stream@0.1.5 
¦ ¦ +-- sequencify@0.0.7 
¦ ¦ +-- stream-consume@0.1.0 
¦ +-- pretty-hrtime@1.0.1 
¦ +-- semver@4.3.6 
¦ +-- tildify@1.1.2 
¦ ¦ +-- os-homedir@1.0.1 
¦ +-- v8flags@2.0.11 
¦ ¦ +-- user-home@1.1.1 
¦ +-- vinyl-fs@0.3.14 
¦   +-- defaults@1.0.3 
¦   +-- glob-stream@3.1.18 
¦   ¦ +-- glob@4.5.3 
¦   ¦ +-- glob2base@0.0.12 
¦   ¦ ¦ +-- find-index@0.1.1 
¦   ¦ +-- minimatch@2.0.10 
¦   ¦ +-- ordered-read-streams@0.1.0 
¦   ¦ +-- through2@0.6.5 
¦   ¦ ¦ +-- readable-stream@1.0.33 
¦   ¦ ??-- unique-stream@1.0.0 
¦   +-- glob-watcher@0.0.6 
¦   +-- graceful-fs@3.0.8 
¦   +-- strip-bom@1.0.0 
¦   ¦ +-- first-chunk-stream@1.0.0 
¦   ¦ +-- is-utf8@0.2.1 
¦   +-- through2@0.6.5 
¦   ¦ +-- readable-stream@1.0.33 
¦   +-- vinyl@0.4.6 
¦     +-- clone@0.2.0 
+-- gulp-autoprefixer@3.1.0 
¦ +-- autoprefixer@6.2.3 
¦ ¦ +-- browserslist@1.0.1 
¦ ¦ +-- caniuse-db@1.0.30000385 
¦ ¦ +-- normalize-range@0.1.2 
¦ ¦ +-- num2fraction@1.2.2 
¦ ¦ +-- postcss-value-parser@3.2.3 
¦ +-- postcss@5.0.14 
¦ ¦ +-- js-base64@2.1.9 
¦ ¦ +-- source-map@0.5.3 
¦ ¦ +-- supports-color@3.1.2 
¦ +-- through2@2.0.0 
¦ ¦ +-- readable-stream@2.0.5 
¦ ¦ ¦ +-- core-util-is@1.0.2 
¦ ¦ ¦ +-- process-nextick-args@1.0.6 
¦ ¦ ¦ +-- util-deprecate@1.0.2 
¦ ¦ +-- xtend@4.0.1 
¦ +-- vinyl-sourcemaps-apply@0.2.1 
+-- gulp-concat@2.6.0 
¦ +-- concat-with-sourcemaps@1.0.4 
¦ +-- through2@0.6.5 
¦   +-- readable-stream@1.0.33 
+-- gulp-csso@1.0.1 
¦ +-- csso@1.4.4 
¦   +-- clap@1.0.10 
+-- gulp-if@2.0.0 
¦ +-- gulp-match@1.0.0 
¦ ¦ +-- minimatch@3.0.0 
¦ ¦   +-- brace-expansion@1.1.2 
¦ ¦     +-- balanced-match@0.3.0 
¦ ¦     +-- concat-map@0.0.1 
¦ +-- ternary-stream@2.0.0 
¦   +-- duplexify@3.4.2 
¦   ¦ +-- end-of-stream@1.0.0 
¦   ¦ +-- readable-stream@2.0.5 
¦   +-- fork-stream@0.0.4 
¦   +-- merge-stream@1.0.0 
¦     +-- readable-stream@2.0.5 
+-- gulp-rename@1.2.2 
+-- gulp-sass@2.1.1 
¦ +-- node-sass@3.4.2 
¦   +-- async-foreach@0.1.3 
¦   +-- cross-spawn@2.1.4 
¦   ¦ +-- cross-spawn-async@2.1.6 
¦   ¦ ¦ +-- lru-cache@4.0.0 
¦   ¦ ¦   +-- pseudomap@1.0.2 
¦   ¦ ¦   +-- yallist@2.0.0 
¦   ¦ +-- spawn-sync@1.0.15 
¦   ¦   +-- concat-stream@1.5.1 
¦   ¦   ¦ +-- readable-stream@2.0.5 
¦   ¦   ¦ +-- typedarray@0.0.6 
¦   ¦   +-- os-shim@0.1.3 
¦   +-- gaze@0.5.2 
¦   ¦ +-- globule@0.1.0 
¦   ¦   +-- glob@3.1.21 
¦   ¦   ¦ +-- graceful-fs@1.2.3 
¦   ¦   ¦ +-- inherits@1.0.2 
¦   ¦   +-- lodash@1.0.2 
¦   ¦   +-- minimatch@0.2.14 
¦   +-- get-stdin@4.0.1 
¦   +-- glob@5.0.15 
¦   +-- meow@3.7.0 
¦   ¦ +-- camelcase-keys@2.0.0 
¦   ¦ ¦ +-- camelcase@2.0.1 
¦   ¦ +-- decamelize@1.1.2 
¦   ¦ +-- loud-rejection@1.2.0 
¦   ¦ ¦ +-- signal-exit@2.1.2 
¦   ¦ +-- map-obj@1.0.1 
¦   ¦ +-- normalize-package-data@2.3.5 
¦   ¦ ¦ +-- hosted-git-info@2.1.4 
¦   ¦ ¦ +-- is-builtin-module@1.0.0 
¦   ¦ ¦ ¦ +-- builtin-modules@1.1.1 
¦   ¦ ¦ +-- validate-npm-package-license@3.0.1 
¦   ¦ ¦   +-- spdx-correct@1.0.2 
¦   ¦ ¦   ¦ +-- spdx-license-ids@1.1.0 
¦   ¦ ¦   +-- spdx-expression-parse@1.0.2 
¦   ¦ ¦     +-- spdx-exceptions@1.0.4 
¦   ¦ +-- read-pkg-up@1.0.1 
¦   ¦ ¦ +-- find-up@1.1.0 
¦   ¦ ¦ ¦ +-- path-exists@2.1.0 
¦   ¦ ¦ +-- read-pkg@1.1.0 
¦   ¦ ¦   +-- load-json-file@1.1.0 
¦   ¦ ¦   ¦ +-- parse-json@2.2.0 
¦   ¦ ¦   ¦ ¦ +-- error-ex@1.3.0 
¦   ¦ ¦   ¦ ¦   +-- is-arrayish@0.2.1 
¦   ¦ ¦   ¦ +-- strip-bom@2.0.0 
¦   ¦ ¦   +-- path-type@1.1.0 
¦   ¦ +-- redent@1.0.0 
¦   ¦ ¦ +-- indent-string@2.1.0 
¦   ¦ ¦ ¦ +-- repeating@2.0.0 
¦   ¦ ¦ ¦   +-- is-finite@1.0.1 
¦   ¦ ¦ +-- strip-indent@1.0.1 
¦   ¦ +-- trim-newlines@1.0.0 
¦   +-- nan@2.2.0 
¦   +-- node-gyp@3.2.1 
¦   ¦ +-- fstream@1.0.8 
¦   ¦ +-- glob@4.5.3 
¦   ¦ ¦ +-- minimatch@2.0.10 
¦   ¦ +-- minimatch@1.0.0 
¦   ¦ ¦ +-- lru-cache@2.7.3 
¦   ¦ ¦ +-- sigmund@1.0.1 
¦   ¦ +-- nopt@3.0.6 
¦   ¦ ¦ +-- abbrev@1.0.7 
¦   ¦ +-- npmlog@1.2.1 
¦   ¦ ¦ +-- ansi@0.3.0 
¦   ¦ ¦ +-- are-we-there-yet@1.0.5 
¦   ¦ ¦ ¦ +-- delegates@0.1.0 
¦   ¦ ¦ +-- gauge@1.2.2 
¦   ¦ ¦   +-- has-unicode@1.0.1 
¦   ¦ ¦   +-- lodash.pad@3.1.1 
¦   ¦ ¦   ¦ +-- lodash._createpadding@3.6.1 
¦   ¦ ¦   ¦   +-- lodash.repeat@3.0.1 
¦   ¦ ¦   +-- lodash.padleft@3.1.1 
¦   ¦ ¦   +-- lodash.padright@3.1.1 
¦   ¦ +-- osenv@0.1.3 
¦   ¦ ¦ +-- os-tmpdir@1.0.1 
¦   ¦ +-- path-array@1.0.0 
¦   ¦ ¦ +-- array-index@0.1.1 
¦   ¦ ¦   +-- debug@2.2.0 
¦   ?? ¦     +-- ms@0.7.1 
¦   ¦ +-- tar@2.2.1 
¦   ¦ ¦ +-- block-stream@0.0.8 
¦   ¦ +-- which@1.2.1 
¦   ¦   +-- is-absolute@0.1.7 
¦   ¦     +-- is-relative@0.1.3 
¦   +-- npmconf@2.1.2 
¦   ¦ +-- config-chain@1.1.9 
¦   ¦ ¦ +-- proto-list@1.2.4 
¦   ¦ +-- ini@1.3.4 
¦   ¦ +-- uid-number@0.0.5 
¦   +-- request@2.67.0 
¦   ¦ +-- aws-sign2@0.6.0 
¦   ¦ +-- bl@1.0.0 
¦   ¦ ¦ +-- readable-stream@2.0.5 
¦   ¦ +-- caseless@0.11.0 
¦   ¦ +-- combined-stream@1.0.5 
¦   ¦ ¦ +-- delayed-stream@1.0.0 
¦   ¦ +-- extend@3.0.0 
¦   ¦ +-- forever-agent@0.6.1 
¦   ¦ +-- form-data@1.0.0-rc3 
¦   ¦ +-- har-validator@2.0.3 
¦   ¦ ¦ +-- commander@2.9.0 
¦   ¦ ¦ ¦ +-- graceful-readlink@1.0.1 
¦   ¦ ¦ +-- is-my-json-valid@2.12.3 
¦   ¦ ¦   +-- generate-function@2.0.0 
¦   ¦ ¦   +-- generate-object-property@1.2.0 
¦   ¦ ¦   ¦ +-- is-property@1.0.2 
¦   ¦ ¦   +-- jsonpointer@2.0.0 
¦   ¦ +-- hawk@3.1.2 
¦   ¦ ¦ +-- boom@2.10.1 
¦   ¦ ¦ +-- cryptiles@2.0.5 
¦   ¦ ¦ +-- hoek@2.16.3 
¦   ¦ ¦ +-- sntp@1.0.9 
¦   ¦ +-- http-signature@1.1.0 
¦   ¦ ¦ +-- assert-plus@0.1.5 
¦   ¦ ¦ +-- jsprim@1.2.2 
¦   ¦ ¦ ¦ +-- extsprintf@1.0.2 
¦   ¦ ¦ ¦ +-- json-schema@0.2.2 
¦   ¦ ¦ ¦ +-- verror@1.3.6 
¦   ¦ ¦ +-- sshpk@1.7.2 
¦   ¦ ¦   +-- asn1@0.2.3 
¦   ¦ ¦   +-- assert-plus@0.2.0 
¦   ¦ ¦   +-- dashdash@1.12.1 
¦   ¦ ¦   +-- ecc-jsbn@0.1.1 
¦   ¦ ¦   +-- jodid25519@1.0.2 
¦   ¦ ¦   +-- jsbn@0.1.0 
¦   ¦ ¦   +-- tweetnacl@0.13.3 
¦   ¦ +-- is-typedarray@1.0.0 
¦   ¦ +-- isstream@0.1.2 
¦   ¦ +-- json-stringify-safe@5.0.1 
¦   ¦ +-- mime-types@2.1.9 
¦   ¦ ¦ +-- mime-db@1.21.0 
¦   ¦ +-- node-uuid@1.4.7 
¦   ¦ +-- oauth-sign@0.8.0 
¦   ¦ +-- qs@5.2.0 
¦   ¦ +-- stringstream@0.0.5 
¦   ¦ +-- tough-cookie@2.2.1 
¦   ¦ +-- tunnel-agent@0.4.2 
¦   +-- sass-graph@2.0.1 
¦     +-- glob@5.0.15 
¦     +-- lodash@3.10.1 
¦     +-- yargs@3.31.0 
¦       +-- cliui@3.1.0 
¦       ¦ +-- wrap-ansi@1.0.0 
¦       +-- os-locale@1.4.0 
¦       ¦ +-- lcid@1.0.0 
¦       ¦   +-- invert-kv@1.0.0 
¦       +-- string-width@1.0.1 
¦       ¦ +-- code-point-at@1.0.0 
¦       ¦ ¦ +-- number-is-nan@1.0.0 
¦       ¦ +-- is-fullwidth-code-point@1.0.0 
¦       +-- window-size@0.1.4 
¦       +-- y18n@3.2.0 
+-- gulp-uglify@1.5.1 
¦ +-- deap@1.0.0 
¦ +-- fancy-log@1.1.0 
¦ +-- isobject@2.0.0 
¦ ¦ +-- isarray@0.0.1 
¦ +-- uglify-js@2.6.0 
¦ ¦ +-- async@0.2.10 
¦ ¦ +-- uglify-to-browserify@1.0.2 
¦ ¦ +-- yargs@3.10.0 
¦ ¦   +-- camelcase@1.2.1 
¦ ¦   +-- cliui@2.1.0 
¦ ¦   ¦ +-- center-align@0.1.2 
¦ ¦   ¦ ¦ +-- align-text@0.1.3 
¦ ¦   ¦ ¦ ¦ +-- kind-of@2.0.1 
¦ ¦   ¦ ¦ ¦ +-- longest@1.0.1 
¦ ¦   ¦ ¦ ¦ +-- repeat-string@1.5.2 
¦ ¦   ¦ ¦ +-- lazy-cache@0.2.7 
¦ ¦   ¦ +-- right-align@0.1.3 
¦ ¦   +-- window-size@0.1.0 
¦ +-- uglify-save-license@0.4.1 
+-- gulp-util@3.0.7 
¦ +-- array-differ@1.0.0 
¦ +-- array-uniq@1.0.2 
¦ +-- beeper@1.1.0 
¦ +-- dateformat@1.0.12 
¦ +-- gulplog@1.0.0 
¦ ¦ +-- glogg@1.0.0 
¦ +-- has-gulplog@0.1.0 
¦ ¦ +-- sparkles@1.0.0 
¦ +-- lodash._reescape@3.0.0 
¦ +-- lodash._reevaluate@3.0.0 
npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
¦ +-- lodash._reinterpolate@3.0.0 
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.0.6
¦ +-- lodash.template@3.6.2 
npm WARN MeMeMe.Web@1.0.0 No description
¦ ¦ +-- lodash._basecopy@3.0.1 
npm WARN MeMeMe.Web@1.0.0 No repository field.
npm ERR! Windows_NT 6.2.9200
¦ ¦ +-- lodash._basetostring@3.0.1 
npm ERR! argv "D:\\Program Files (x86)\\nodejs\\4.2.3\\node.exe" "D:\\Program Files (x86)\\npm\\3.5.1\\node_modules\\npm\\bin\\npm-cli.js" "install"
¦ ¦ +-- lodash._basevalues@3.0.0 
npm ERR! node v4.2.3
¦ ¦ +-- lodash._isiterateecall@3.0.9 
npm ERR! npm  v3.5.1
¦ ¦ +-- lodash.escape@3.0.0 
npm ERR! path D:\home\site\repository\source\MeMeMe.Web\node_modules\.staging\capture-stack-trace-59075fa10eb642e1b47ea9ed18a76ec3
¦ ¦ +-- lodash.keys@3.1.2 
npm ERR! code ENOENT
¦ ¦ ¦ +-- lodash._getnative@3.9.1 
npm ERR! errno -4058
¦ ¦ ¦ +-- lodash.isarguments@3.0.4 
npm ERR! syscall rename
¦ ¦ ¦ +-- lodash.isarray@3.0.4 

¦ ¦ +-- lodash.restparam@3.6.1 
npm ERR! enoent ENOENT: no such file or directory, rename 'D:\home\site\repository\source\MeMeMe.Web\node_modules\.staging\capture-stack-trace-59075fa10eb642e1b47ea9ed18a76ec3' -> 'D:\home\site\repository\source\MeMeMe.Web\node_modules\bower\node_modules\update-notifier\node_modules\latest-version\node_modules\package-json\node_modules\got\node_modules\create-error-class\node_modules\capture-stack-trace'
¦ ¦ +-- lodash.templatesettings@3.1.0 
npm ERR! enoent ENOENT: no such file or directory, rename 'D:\home\site\repository\source\MeMeMe.Web\node_modules\.staging\capture-stack-trace-59075fa10eb642e1b47ea9ed18a76ec3' -> 'D:\home\site\repository\source\MeMeMe.Web\node_modules\bower\node_modules\update-notifier\node_modules\latest-version\node_modules\package-json\node_modules\got\node_modules\create-error-class\node_modules\capture-stack-trace'
¦ +-- multipipe@0.1.2 
npm ERR! enoent This is most likely not a problem with npm itself
¦ ¦ +-- duplexer2@0.0.2 
npm ERR! enoent and is related to npm not being able to find a file.
¦ +-- object-assign@3.0.0 
npm ERR! enoent 
¦ +-- replace-ext@0.0.1 

¦ +-- vinyl@0.5.3 
npm ERR! Please include the following file with any support request:
¦   +-- clone-stats@0.0.1 
npm ERR!     D:\home\site\repository\source\MeMeMe.Web\npm-debug.log
+-- gutil@1.6.4 
¦ +-- sliced@1.0.1 
+-- path@0.12.7 
¦ +-- process@0.11.2 
¦ +-- util@0.10.3 
¦   +-- inherits@2.0.1 
+-- rename@1.0.3 
¦ +-- debug@2.1.3 
¦   +-- ms@0.7.0 
+-- run-sequence@1.1.5 
+??- semver-utils@1.1.1  extraneous
+-- webpack@1.12.10 
  +-- async@1.5.2 
  +-- clone@1.0.2 
  +-- enhanced-resolve@0.9.1 
  ¦ +-- graceful-fs@4.1.2 
  ¦ +-- memory-fs@0.2.0 
  +-- esprima@2.7.1 
  +-- loader-utils@0.2.12 
  ¦ +-- big.js@3.1.3 
  ¦ +-- json5@0.4.0 
  +-- memory-fs@0.3.0 
  ¦ +-- errno@0.1.4 
  ¦ ¦ +-- prr@0.0.0 
  ¦ +-- readable-stream@2.0.5 
  +-- mkdirp@0.5.1 
  ¦ +-- minimist@0.0.8 
  +-- node-libs-browser@0.5.3 
  ¦ +-- assert@1.3.0 
  ¦ +-- browserify-zlib@0.1.4 
  ¦ ¦ +-- pako@0.2.8 
  ¦ +-- buffer@3.6.0 
  ¦ ¦ +-- base64-js@0.0.8 
  ¦ ¦ +-- ieee754@1.1.6 
  ¦ ¦ +-- isarray@1.0.0 
  ¦ +-- console-browserify@1.1.0 
  ¦ ¦ +-- date-now@0.1.4 
  ¦ +-- constants-browserify@0.0.1 
  ¦ +-- crypto-browserify@3.2.8 
  ¦ ¦ +-- pbkdf2-compat@2.0.1 
  ¦ ¦ +-- ripemd160@0.2.0 
  ¦ ¦ +-- sha.js@2.2.6 
  ¦ +-- domain-browser@1.1.7 
  ¦ +-- events@1.1.0 
  ¦ +-- http-browserify@1.7.0 
  ¦ ¦ +-- Base64@0.2.1 
  ¦ +-- https-browserify@0.0.0 
  ¦ +-- os-browserify@0.1.2 
  ¦ +-- path-browserify@0.0.0 
  ¦ +-- punycode@1.4.0 
  ¦ +-- querystring-es3@0.2.1 
  ¦ +-- readable-stream@1.1.13 
  ¦ +-- stream-browserify@1.0.0 
  ¦ +-- string_decoder@0.10.31 
  ¦ +-- timers-browserify@1.4.2 
  ¦ +-- tty-browserify@0.0.0 
  ¦ +-- url@0.10.3 
  ¦ ¦ +-- punycode@1.3.2 
  ¦ ¦ +-- querystring@0.2.0 
  ¦ +-- vm-browserify@0.0.4 
  ¦   +-- indexof@0.0.1 
  +-- optimist@0.6.1 
  ¦ +-- minimist@0.0.10 
  ¦ +-- wordwrap@0.0.2 
  +-- supports-color@3.1.2 
  ¦ +-- has-flag@1.0.0 
  +-- tapable@0.1.10 
  +-- watchpack@0.2.9 
  ¦ +-- async@0.9.2 
  ¦ +-- chokidar@1.4.2 
  ¦   +-- anymatch@1.3.0 
  ¦   ¦ +-- micromatch@2.3.7 
  ¦   ¦   +-- arr-diff@2.0.0 
  ¦   ¦   ¦ +-- arr-flatten@1.0.1 
  ¦   ¦   +-- array-unique@0.2.1 
  ¦   ¦   +-- braces@1.8.3 
  ¦   ¦   ¦ +-- expand-range@1.8.1 
  ¦   ¦   ¦ ¦ +-- fill-range@2.2.3 
  ¦   ¦   ¦ ¦   +-- is-number@2.1.0 
  ¦   ¦   ¦ ¦   ¦ +-- kind-of@3.0.2 
  ¦   ¦   ¦ ¦   +-- randomatic@1.1.5 
  ¦   ¦   ¦ ¦     +-- kind-of@3.0.2 
  ¦   ¦   ¦ +-- preserve@0.2.0 
  ¦   ¦   ¦ +-- repeat-element@1.1.2 
  ¦   ¦   +-- expand-brackets@0.1.4 
  ¦   ¦   +-- extglob@0.3.1 
  ¦   ¦   ¦ +-- ansi-green@0.1.1 
  ¦   ¦   ¦ ¦ +-- ansi-wrap@0.1.0 
  ¦   ¦   ¦ +-- success-symbol@0.1.0 
  ¦   ¦   +-- filename-regex@2.0.0 
  ¦   ¦   +-- kind-of@3.0.2 
  ¦   ¦   ¦ +-- is-buffer@1.1.1 
  ¦   ¦   +??- normalize-path@2.0.1 
  ¦   ¦   +-- object.omit@2.0.0 
  ¦   ¦   ¦ +-- for-own@0.1.3 
  ¦   ¦   ¦ ¦ +-- for-in@0.1.4 
  ¦   ¦   ¦ +-- is-extendable@0.1.1 
  ¦   ¦   +-- parse-glob@3.0.4 
  ¦   ¦   ¦ +-- glob-base@0.3.0 
  ¦   ¦   ¦ +-- is-dotfile@1.0.2 
  ¦   ¦   +-- regex-cache@0.4.2 
  ¦   ¦     +-- is-equal-shallow@0.1.3 
  ¦   ¦     +-- is-primitive@2.0.0 
  ¦   +-- async-each@0.1.6 
  ¦   +-- glob-parent@2.0.0 
  ¦   +-- is-binary-path@1.0.1 
  ¦   ¦ +-- binary-extensions@1.4.0 
  ¦   +-- is-glob@2.0.1 
  ¦   ¦ +-- is-extglob@1.0.0 
  ¦   +-- readdirp@2.0.0 
  ¦     +-- minimatch@2.0.10 
  ¦     +-- readable-stream@2.0.5 
  +-- webpack-core@0.6.8 
    +-- source-list-map@0.1.5 
    +-- source-map@0.4.4 
      +-- amdefine@1.0.0 

Failed exitCode=-4058, command=npm install
Installing npm packages: Finished  0:18:35.21
An error has occurred during web site deployment.
4

1 回答 1

1

我的猜测是你可能会达到文件路径最大长度限制。

npm ERR! enoent ENOENT: no such file or directory, rename 'D:\home\site\repository\source\MeMeMe.Web\node_modules\.staging\capture-stack-trace-59075fa10eb642e1b47ea9ed18a76ec3' -> 'D:\home\site\repository\source\MeMeMe.Web\node_modules\bower\node_modules\update-notifier\node_modules\latest-version\node_modules\package-json\node_modules\got\node_modules\create-error-class\node_modules\capture-stack-trace'

D:\home\site\repository\source\MeMeMe.Web\node_modules\.staging\capture-stack-trace-59075fa10eb642e1b47ea9ed18a76ec3从上面的日志中,你能检查下是否有超过 256 个字符的文件路径?

于 2016-01-12T00:58:14.663 回答