在M1芯片上运行的MacOS 12 Monterey中,使用Vaadin / Webpack进行开发模式时出现错误。

4
自从将MacOS更新至12 / Monterey版本后,在开发模式下运行我的应用程序时遇到了错误。
为了验证问题,我从start.vaadin.com创建了一个全新的Starter App。我使用JDK 11和Vaadin 21来进行开发,因为这是我其他项目所使用的。
我使用IntelliJ Ultimate进行开发。
当我像之前多次那样试图从IntelliJ中启动项目时,项目开始启动,通常会编译前端代码并输出“Frontend compiled successfully”,但随后失败,并出现以下错误信息。
2021-11-05 08:29:09.589 ERROR 11463 --- [        webpack] c.v.base.devserver.DevModeHandlerImpl    : Error when reading manifest.json from webpack-dev-server

java.net.ConnectException: Connection refused
    at java.base/sun.nio.ch.Net.pollConnect(Native Method) ~[na:na]
    at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:669) ~[na:na]
    at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:542) ~[na:na]
    at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597) ~[na:na]
    at java.base/java.net.Socket.connect(Socket.java:645) ~[na:na]
    at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:177) ~[na:na]
    at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:497) ~[na:na]
    at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:600) ~[na:na]
    at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:246) ~[na:na]
    at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:351) ~[na:na]
    at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:372) ~[na:na]
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1299) ~[na:na]
    at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1232) ~[na:na]
    at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1120) ~[na:na]
    at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1051) ~[na:na]
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1653) ~[na:na]
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1577) ~[na:na]
    at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527) ~[na:na]
    at com.vaadin.base.devserver.DevModeHandlerImpl.readManifestPaths(DevModeHandlerImpl.java:556) ~[vaadin-dev-server-8.0.3.jar:na]
    at com.vaadin.base.devserver.DevModeHandlerImpl.processLine(DevModeHandlerImpl.java:492) ~[vaadin-dev-server-8.0.3.jar:na]
    at com.vaadin.base.devserver.DevModeHandlerImpl.readLinesLoop(DevModeHandlerImpl.java:457) ~[vaadin-dev-server-8.0.3.jar:na]
    at com.vaadin.base.devserver.DevModeHandlerImpl.lambda$logStream$2(DevModeHandlerImpl.java:428) ~[vaadin-dev-server-8.0.3.jar:na]
    at java.base/java.lang.Thread.run(Thread.java:831) ~[na:na]

我无法访问该网页。当我从命令行以生产模式启动时,一切都正常。

有人能告诉我出了什么问题吗?

2个回答

3

为什么它在 Vaadin 22 的 Beta 版本中能够工作呢? - karakal

1
同样的问题也出现在我的MacOS Catalina上(我认为这与MacOS版本无关)。我在从Eclipse构建和运行Vaadin入门应用程序时发现了这个问题,但它并没有起作用。我不知道Eclipse选择了哪个Node版本。我通过nvm alias default 16将默认版本设置为16,但没有成功。如果使用命令行,并使用像nvm这样的工具,我们可以对节点设置进行细粒度调整。下面是我的结果:
Vaadin: 21.0.3 Node: 16.13.0 ✅
Vaadin: 21.0.4 Node: 16.13.10 ✅
Vaadin: 21.0.4 Node: 17.1.0 ❌
我的nvm ls结果如下:
>nvm ls
->     v16.13.0
        v17.1.0
         system
default -> 16 (-> v16.13.0)
node -> stable (-> v17.1.0) (default)
stable -> 17.1 (-> v17.1.0) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/gallium (-> v16.13.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.7 (-> N/A)
lts/fermium -> v14.18.1 (-> N/A)
lts/gallium -> v16.13.0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接