ERROR: This program cannot be run in DOS mode.

未关闭
#887 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞
技术栈
node.js, typescript
领域
build-system

调研方向

先从 vite.config.ts 中的 password import 和 optimizeDeps 部分开始,然后在 Windows 11 上使用 Node v20.17.0 运行报告中的构建。跟踪 @node-rs/argon2 在客户端构建期间的处理方式;完成的标准是,提供的 Qwik 项目能够构建并进行预览,且 Rollup 不会解析原生 .node 文件。

由索引模型根据 Issue 内容生成。

描述

Code:


import { Argon2id } from 'oslo/password';

/**
 * Hashes the password using Argon2id which is provided by the Oslo library
 * @param password - The password to hash
 * @returns The hashed password
 */
export const hashPassword = async (password: string) => {
  return new Argon2id().hash(password);
};

Error:

error during build:
[commonjs--resolver] node_modules/@node-rs/argon2-win32-x64-msvc/argon2.win32-x64-msvc.node (1:2): Unexpected character '�' (Note that you need plugins to import files that are not JavaScript)
file: C:/Users/User/Desktop/dashboard/node_modules/@node-rs/argon2/index.js:1:2

1: MZ����@���   �!�L�!This program cannot be run in DOS mode.
     ^
2: $z˰>w��>w��>w��76�2w��8���<w��8���/w��8���6w��8���:w��>w��Zw�����7w��S���?w��>w��<w��S���?w��S���?w��Rich>w...
3: `�0`@1��

RollupError: Unexpected character '�'
    at getRollupError (file:///C:/Users/User/Desktop/dashboard/node_modules/rollup/dist/es/shared/parseAst.js:392:41)
    at ParseError.initialise (file:///C:/Users/User/Desktop/dashboard/node_modules/rollup/dist/es/shared/node-entry.js:11494:28)
    at convertNode (file:///C:/Users/User/Desktop/dashboard/node_modules/rollup/dist/es/shared/node-entry.js:13192:10)
    at convertProgram (file:///C:/Users/User/Desktop/dashboard/node_modules/rollup/dist/es/shared/node-entry.js:12536:12)
    at Module.setSource (file:///C:/Users/User/Desktop/dashboard/node_modules/rollup/dist/es/shared/node-entry.js:14355:24)
    at async ModuleLoader.addModuleSource (file:///C:/Users/User/Desktop/dashboard/node_modules/rollup/dist/es/shared/node-entry.js:19046:13)
error: script "build.client" exited with code 1
error: script "preview" exited with code 1

vite.config.ts


export default defineConfig(({ command, mode }): UserConfig => {
  return {
   optimizeDeps: {
      exclude: [ "@node-rs/argon2" , "@node-rs/bcrypt"],
    },
...
}

Framework: Qwik
Node: v20.17.0
Windows 11 x64

主要语言
Rust
星标
1.5k
派生
52
平均合并
1 天 2 小时
30 天内合并 PR
14

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

napi-rs/node-rs 的其他 Issue

查看 napi-rs/node-rs 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。