EINVALIDPACKAGENAME 在 firebase Nuxt 3 应用程序中使用 socket.io-client

问题描述 投票:0回答:0

我有一个使用 socket.io-client 的 Nuxt 3 应用程序。该应用程序在开发过程中使用香草

nuxt build
过程构建并运行良好。

当我尝试使用 Nitro (

NITRO_PRESET=firebase nuxt build
) 的“firebase”预设构建和部署到 Firebase 时,生成的包无法安装并出现此错误:

npm ERR! code EINVALIDPACKAGENAME
npm ERR! Invalid package name "socket.io-client/build/esm-debug" of package "socket.io-client/build/[email protected]": name can only contain URL-friendly characters.

我可以看到这个“socket.io-client/build/esm-debug”包实际上在生成并放置在

.output/server/package.json
中的 package.json 中被引用(即使它在我的任何地方都没有被引用自己的项目)。当我在此目录中本地运行
npm install
时,我收到相同的错误消息。

似乎这个包由于某种原因被构建过程注入,模块名称让 npm 不高兴。我能做些什么来防止这种情况发生吗?

使用节点 18,[email protected]

构建过程的简短输出:

> NITRO_PRESET=firebase npm run build

Nuxi 3.4.3
Nuxt 3.4.3 with Nitro 2.4.0
ℹ Building client...
ℹ vite v4.3.5 building for production...
ℹ vite v4.3.5 building SSR bundle for production...
ℹ Building Nitro Server (preset: firebase)
✔ Nitro server built                                                                                                                                        
Σ Total size: 16.7 MB (3.87 MB gzip)
✔ You can deploy this build using npx firebase deploy
firebase socket.io nuxt.js nuxtjs3 nitro
© www.soinside.com 2019 - 2024. All rights reserved.