【发布时间】:2015-12-30 11:33:49
【问题描述】:
我正在开发一个 asp.net 5 网站(使用 gulp 和 gulp-sass),但每当我尝试发布到我的 Azure 网站时,我都会收到以下错误
DNU(0,0): Error : Thelibsassbinding was not found in project_path\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-ia32-11\binding.node 下面的完整堆栈跟踪
在我关注 this article 之前,我在 Visual Studio 任务运行资源管理器中遇到了完全相同的错误,但我在发布时仍然收到错误。
有什么帮助吗?
DNU(0,0): Error : The `libsass` binding was not found in project_path\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-ia32-11\binding.node
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error : This usually happens because your node version has changed.
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error : Run `npm rebuild node-sass` to build the binding for your current node version.
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error : at Object.sass.getBinaryPath (project_path\node_modules\gulp-sass\node_modules\node-sass\lib\extensions.js:158:11)
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error : at Object.<anonymous>
(project_path\node_modules\gulp-sass\node_modules\node-sass\lib\index.js:16:36)
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error : at Module._compile (module.js:456:26)
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error : at Object.Module._extensions..js (module.js:474:10)
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error : at Module.load (module.js:356:32)
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error : at Function.Module._load (module.js:312:12)
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error : at Module.require (module.js:364:17)
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error : at require (module.js:380:17)
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error : at Object.<anonymous>
(project_path\node_modules\gulp-sass\index.js:183:21)
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error : at Module._compile (module.js:456:26)
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error : at Object.Module._extensions..js (module.js:474:10)
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error : The 'prepublish' script failed with status code 8.
【问题讨论】:
-
你在本地使用什么节点版本?
-
确保您在本地和您的网站上拥有相同版本的节点。您应该能够使用 Kudu 的调试控制台 ({sitename}.scm.azurewebsites.net/DebugConsole) 导航到您的 project_path/node_modules 文件夹并手动安装 libsass 以确认这是问题所在。
-
本地节点版本为 v4.2.4 - npm 为 2.14.12
-
从外观上看,该网站正在运行 v4.2.3。我在 Kudu 调试控制台中找不到任何 node_modules 目录。我降级到节点 v4.2.3 并运行 npm rebuild 并且在本地一切仍然正常
标签: visual-studio-2015 gulp asp.net-core azure-web-app-service gulp-sass