一尘不染

为Angular项目启用Docker支持

docker

Visual Studio 2017中是否有一种方法可以自动为asp.net核心 Angular
项目启用Docker支持?创建新选项时,该选项被禁用。它仅适用于 Web应用程序(MVC)

创建项目后,我可以为角度项目启用Docker支持(项目->添加-> Docker支持),但是当我启动应用程序时,出现一个异常,提示node.js不可用。

发生System.AggregateException HResult = 0x80131500 Message
=发生一个或多个错误。(无法启动Node进程。要解决此问题:。

[1]确保已安装Node.js,并且可以在PATH目录之一中找到它。当前的PATH环境变量为:/ usr / local / sbin:/ usr /
local / bin:/ usr / sbin:/ usr / bin:/ sbin:/
bin确保Node可执行文件在这些目录之一中,或者更新您的目录路径。

[2]有关原因的更多详细信息,请参见InnerException。)
Source =
StackTrace:位于Microsoft.AspNetCore.Builder.WebpackDevMiddleware.UseWebpackDevMiddleware(IApplicationBuilder
appBuilder,WebpackDevMiddlewareOptions选项)上System.Threading.Tasks.Task`1.GetResultCore(Boolean
waitCompletionNotification)处。 ),位于C:\ Users \ temp \ Documents \ Visual
Studio 2017 \ Projects \ WebApplication3 \
Startup.cs:第34行中的WebApplication3.Startup.Configure(IApplicationBuilder应用程序,IHostingEnvironment
env)

内部异常1:InvalidOperationException:无法启动Node进程。解决此问题的方法:

[1]确保已安装Node.js,并且可以在PATH目录之一中找到它。当前的PATH环境变量为:/ usr / local / sbin:/ usr /
local / bin:/ usr / sbin:/ usr / bin:/ sbin:/
bin确保Node可执行文件在这些目录之一中,或者更新您的目录路径。

[2]有关原因的更多详细信息,请参见InnerException。

内部异常2:Win32Exception:没有这样的文件或目录

如果无法自动创建,如何手动为Angular项目启用Docker支持?


阅读 601

收藏
2020-06-17

共1个答案

一尘不染

我解决了我的问题。

我还需要在映像上安装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-getinstall-ynodejs还不够,因为这会安装nodejs的第4版,并且已将其安装在folder中nodejs,因此WebpackDevMiddleware未找到该节点的可执行文件。

2020-06-17