0

我有一个大型 NodeJS 应用程序,在经过 Webpack-5 处理后一直运行良好。现在我添加了 http-auth,然后应用程序崩溃了。

https://github.com/MorganLindqvist/webpack5-http-auth-failure上,您可以找到一个非常简约的应用程序版本,该版本在 Webpack5 之后执行时会崩溃。

这是它何时工作(没有 webpack 5)以及何时崩溃(使用 webpack 5)的示例。

git clone https://github.com/MorganLindqvist/webpack5-http-auth-failure.git
cd webpack5-http-auth-failure
npm install
node src/index.js

这可以正常工作,没有任何重要的事情发生。但是,如果使用 webpack5,它不起作用,而是崩溃。

npm run build_dev
node dist/main.js

错误信息如下:

类型错误:找不到来自@node-rs/bcrypt-linux-x64-gnu、@node-rs/bcrypt-linux-x64-gnux32、@node-rs/bcrypt-linux-x64-musl 和 /home 的节点绑定文件/user/webpack5-http-auth-failure/dist/bcrypt.linux-x64-gnu.node, /home/user/webpack5-http-auth-failure/dist/bcrypt.linux-x64-gnux32.node, /home /user/webpack5-http-auth-failure/dist/bcrypt.linux-x64-musl.node

安装 http-auth 时,我收到一些如下所示的警告:

npm WARN 可选跳过可选依赖:@node-rs/bcrypt-android-arm64@1.2.1 (node_modules/@node-rs/bcrypt-android-arm64):npm WARN notsup 跳过可选依赖:@node-rs 不受支持的平台/bcrypt-android-arm64@1.2.1: 想要 {"os":"android","arch":"arm64"} (当前: {"os":"linux","arch":"x64"})

现在我的问题是:这是 http-auth、webpack5 中的错误还是我这边的错误?

我一直在尝试了解警告和错误,但在搜索类似问题时没有发现任何有用的信息。

正如我所说,我有一个大项目,它崩溃时的错误与我删除 index.js 中除以下几行之外的所有内容时完全相同。

const auth = require("http-auth");

const basic = auth.basic({
  realm: "Docker registry",
  file: __dirname + "/../htpasswd"
});
4

2 回答 2

1

碰巧,我今天遇到了这个问题,并找到了您的问题,试图找到解决方案。

在尝试了一些不同的事情之后,我发现使用 http-auth 的 4.1.2 版本(而不是当前的 4.1.4,这是你的 package.json 在你的 GitHub 存储库中设置的)对我有用。所以这似乎是较新的 http-auth 版本的错误。我在您的 github 存储库中运行了您的代码,但使用的是 http-auth 版本 4.1.2,它运行成功。

于 2021-04-05T23:14:21.257 回答
0

我遇到了同样的问题,http-auth 的 4.1.5 版本解决了这个问题。

于 2021-06-02T08:22:31.473 回答