Visual Studio 2017中是否有一种方法可以自动为asp.net-core Angular 项目启用Docker支持?创建新选项时禁用该选项。它仅适用于 Web应用程序(MVC)。
在创建项目后,我能够为角项目启用Docker支持(Project-> Add-> Docker支持),但是当我启动应用程序时,我得到一个例外,即node.js不可用
发生System.AggregateException HResult = 0x80131500消息=一 或更多错误发生。 (无法启动Node进程。要解决 这样:
[1]确保已安装Node.js,并且可以在其中一个中找到 PATH目录。 当前的PATH环境变量是:/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/ bin 确保Node可执行文件位于其中一个目录中,或更新PATH。
[2]有关原因的更多详细信息,请参阅InnerException。)
Source = StackTrace:at System.Threading.Tasks.Task`1.GetResultCore(布尔 waitCompletionNotification)at Microsoft.AspNetCore.Builder.WebpackDevMiddleware.UseWebpackDevMiddleware(IApplicationBuilder appBuilder,WebpackDevMiddlewareOptions选项) WebApplication3.Startup.Configure(IApplicationBuilder应用程序, IHostingEnvironment env)in C:\ Users \ temp \ Documents \ Visual Studio 2017 \ Projects \ WebApplication3 \ Startup.cs:第34行内部异常1:InvalidOperationException:无法启动Node 处理。解决这个问题:。
[1]确保已安装Node.js,并且可以在其中一个中找到 PATH目录。 当前的PATH环境变量是:/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/ bin 确保Node可执行文件位于其中一个目录中,或更新PATH。
[2]有关原因的更多详细信息,请参阅InnerException。
内部异常2:Win32Exception:没有这样的文件或目录
如果无法自动创建它,我如何手动为我的Angular项目启用Docker支持?
答案 0 :(得分:6)
我解决了我的问题。
我还需要在我的映像上安装nodejs,因为webpack需要它。我已将Dockerfile更改为也安装了nodejs版本6
FROM microsoft/aspnetcore:2.0
RUN apt-get update && \
apt-get install -y wget && \
apt-get install -y gnupg2 && \
wget -qO- https://deb.nodesource.com/setup_6.x | bash - && \
apt-get install -y build-essential nodejs
# Rest of Dockerfile
仅使用RUN apt-get update && apt-get install -y nodejs
是不够的,因为这会安装nodejs的第4版,并且它安装在文件夹nodejs
中,因此WebpackDevMiddleware
找不到节点的可执行文件。