所以这肯定是一个有趣的情况。拥有一个利用bower和gulp的ASP.NET MVC4站点。我将此站点连接到GitHub并使用Azure的持续集成。这非常好用,直到我想将我的gulp任务集成到自动构建过程中。
所以,我继续通过npm安装了Azure CLI工具。然后我就能够生成自定义部署脚本(deploy.cmd)。通过这个,我能够编辑它并添加一些自定义脚本,通过查询通过Azure完成npm安装,bower安装和gulp任务的最佳方法。特别是,这是我添加的内容(如果你很好奇):
:: 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
现在,顺便说一句,我的package.json中没有包含bower。我已经阅读过那些在全球范围内安装了Azure网站的网站,但到目前为止这还没有用。每次我尝试不使用bower作为一个软件包进行部署时,我的npm日志都会在.bin目录中请求它无效。
为了缓解这个问题,我(不情愿地)在我的package.json中添加了bower作为依赖项并检查了代码。
在Azure上构建大约6分钟后,该过程失败。在npm日志中,我们看到很多像这样的npm错误:
npm ERR! enoent ENOENT:没有这样的文件或目录,重命名
重命名是一条很长的道路。所以凉亭没有安装。
有人知道有任何变通方法吗?当然,无需将bower作为依赖项安装,然后将node_modules检入Git。我不知道其他选择。
编辑:这是完整的日志(我将我的客户名称更改为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.
答案 0 :(得分: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个字符?