ASP.NET 5 发布到 Azure Gulp libass 错误
ASP.NET 5 Publish to Azure Gulp libass error
我有一个 asp.net 5 网站(使用 gulp 和 gulp-sass)我正在开发,但每当我尝试发布到我的 Azure 网站时我收到以下错误
DNU(0,0): Error : The
libsassbinding was not found in project_path\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-ia32-11\binding.node
下面的完整堆栈跟踪
我在 Visual Studio 任务 运行 资源管理器中遇到了完全相同的错误,直到我遵循 this article,但我在发布时仍然遇到错误。
有什么帮助吗?
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.
这可能是因为预发布脚本中使用的节点 Visual Studio 2015 版本与您用于开发任务的版本不同。
您可以通过将 node --version
放在 project.json.
内的预发布脚本中来测试它
我的产出 v0.10.31
.
您可以在工具->选项->中更改大多数Visual Studio工具(Task Runner Explorer、节点包还原等)使用的版本通过将 $(PATH)
移动到顶部或将 C:\Program Files\nodejs
添加到顶部,项目和解决方案->外部 Web 工具。
不幸的是,预发布脚本没有遵守这一点。
解决方法是将所有预发布任务放在脚本中,然后调用它。
project.json :
...
"scripts": {
"prepublish": ["prepublish"]
}
...
prepublish.cmd :
set PATH=C:\Program Files\nodejs;.\node_modules\.bin;%PATH%
call npm install || goto :error
call bower install || goto :error
call gulp clean || goto :error
call gulp min || goto :error
goto :EOF
:error
echo Failed with error #%errorlevel%.
exit /b %errorlevel%
Here 是一个 GitHub 问题,跟踪在 VS 中更新节点和 npm 的请求。
尝试删除本地存储库中的 node_modules 文件夹,然后重新启动 VS。
那解决了我的问题。
我有一个 asp.net 5 网站(使用 gulp 和 gulp-sass)我正在开发,但每当我尝试发布到我的 Azure 网站时我收到以下错误
DNU(0,0): Error : The
libsassbinding was not found in project_path\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-ia32-11\binding.node
下面的完整堆栈跟踪
我在 Visual Studio 任务 运行 资源管理器中遇到了完全相同的错误,直到我遵循 this article,但我在发布时仍然遇到错误。
有什么帮助吗?
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.
这可能是因为预发布脚本中使用的节点 Visual Studio 2015 版本与您用于开发任务的版本不同。
您可以通过将 node --version
放在 project.json.
我的产出 v0.10.31
.
您可以在工具->选项->中更改大多数Visual Studio工具(Task Runner Explorer、节点包还原等)使用的版本通过将 $(PATH)
移动到顶部或将 C:\Program Files\nodejs
添加到顶部,项目和解决方案->外部 Web 工具。
不幸的是,预发布脚本没有遵守这一点。
解决方法是将所有预发布任务放在脚本中,然后调用它。
project.json :
...
"scripts": {
"prepublish": ["prepublish"]
}
...
prepublish.cmd :
set PATH=C:\Program Files\nodejs;.\node_modules\.bin;%PATH%
call npm install || goto :error
call bower install || goto :error
call gulp clean || goto :error
call gulp min || goto :error
goto :EOF
:error
echo Failed with error #%errorlevel%.
exit /b %errorlevel%
Here 是一个 GitHub 问题,跟踪在 VS 中更新节点和 npm 的请求。
尝试删除本地存储库中的 node_modules 文件夹,然后重新启动 VS。 那解决了我的问题。