Getting `Error: Cannot find module '@node-rs/argon2-linux-arm64-gnu'` and `'./argon2.linux-arm64-gnu.node'` error

Abierto
#861 1 comentario 1 reacción 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
aws, docker, next.js, node.js
Área
backend, cloud, devops

Línea de trabajo

Comienza con la lógica de carga nativa en node_modules/@node-rs/argon2/index.js y la entrada .next/server/app/(main)/(auth)/signin/page.js desplegada que aparece en el stack trace. Reproduce el fallo con las configuraciones de despliegue de Node.js, Next.js, Docker y AWS indicadas; se considera terminado cuando la API desplegada de hashing y verificación carga el binding nativo de Linux ARM64 requerido sin MODULE_NOT_FOUND.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Here are some of the dependencies I use.

  • Next.js: ^14.2.4,
  • @node-rs/argon2: ^1.8.3
  • node: 18.17.1 and 20.12.2 (tried both)
  • macOS M2 Pro, Sonoma 14.2.1

Build / deploy using both AWS Cloudfront or Docker container

I switched over to using node-rs/argon2 package since the oslo/password package was causing dev error.
If I use node-rs/argon2 package:

import { hash, verify } from '@node-rs/argon2'
...
export async function encryptPassword(password: string): Promise<string> {
  return await hash(password, {
    memoryCost: 19456,
    timeCost: 2,
    outputLen: 32,
    parallelism: 1,
  })
}

export async function verifyPassword(
  password: string,
  hashedPassword: string,
): Promise<boolean> {
  return await verify(hashedPassword, password, {
    memoryCost: 19456,
    timeCost: 2,
    outputLen: 32,
    parallelism: 1,
  })
}
Error

After building Next.js and deploying it either using AWS Cloudfront or just containerize the app with Docker and running it, the api the handles the hashing and verifying fails with the following error:

Error: Failed to load native binding
    at Object.<anonymous> (/var/task/node_modules/.pnpm/@[email protected]/node_modules/@node-rs/argon2/index.js:359:11)
    at Module._compile (node:internal/modules/cjs/loader:1364:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1422:10)
    at Module.load (node:internal/modules/cjs/loader:1203:32)
    at Module._load (node:internal/modules/cjs/loader:1019:12)
    at Module.require (node:internal/modules/cjs/loader:1231:19)
    at mod.require (/var/task/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected]/node_modules/next/dist/server/require-hook.js:65:28)
    at require (node:internal/modules/helpers:177:18)
    at 82406 (/var/task/.next/server/app/(main)/(auth)/signin/page.js:1:81)
    at t (/var/task/.next/server/webpack-runtime.js:1:128) {
  digest: '903678548',
  [cause]: [
    Error: Cannot find module './argon2.linux-arm64-gnu.node'
    Require stack:
    - /var/task/node_modules/.pnpm/@[email protected]/node_modules/@node-rs/argon2/index.js
    - /var/task/.next/server/app/(main)/(auth)/signin/page.js
    - /var/task/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected]/node_modules/next/dist/server/require.js
    - /var/task/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected]/node_modules/next/dist/server/next-server.js
        at Module._resolveFilename (node:internal/modules/cjs/loader:1140:15)
        at /var/task/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected]/node_modules/next/dist/server/require-hook.js:55:36
        at Module._load (node:internal/modules/cjs/loader:981:27)
        at Module.require (node:internal/modules/cjs/loader:1231:19)
        at mod.require (/var/task/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected]/node_modules/next/dist/server/require-hook.js:65:28)
        at require (node:internal/modules/helpers:177:18)
        at requireNative (/var/task/node_modules/.pnpm/@[email protected]/node_modules/@node-rs/argon2/index.js:237:16)
        at Object.<anonymous> (/var/task/node_modules/.pnpm/@[email protected]/node_modules/@node-rs/argon2/index.js:332:17)
        at Module._compile (node:internal/modules/cjs/loader:1364:14)
        at Module._extensions..js (node:internal/modules/cjs/loader:1422:10) {
      code: 'MODULE_NOT_FOUND',
      requireStack: [Array]
    },
    Error: Cannot find module '@node-rs/argon2-linux-arm64-gnu'
    Require stack:
    - /var/task/node_modules/.pnpm/@[email protected]/node_modules/@node-rs/argon2/index.js
    - /var/task/.next/server/app/(main)/(auth)/signin/page.js
    - /var/task/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected]/node_modules/next/dist/server/require.js
    - /var/task/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected]/node_modules/next/dist/server/next-server.js
        at Module._resolveFilename (node:internal/modules/cjs/loader:1140:15)
        at /var/task/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected]/node_modules/next/dist/server/require-hook.js:55:36
        at Module._load (node:internal/modules/cjs/loader:981:27)
        at Module.require (node:internal/modules/cjs/loader:1231:19)
        at mod.require (/var/task/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected]/node_modules/next/dist/server/require-hook.js:65:28)
        at require (node:internal/modules/helpers:177:18)
        at requireNative (/var/task/node_modules/.pnpm/@[email protected]/node_modules/@node-rs/argon2/index.js:242:16)
        at Object.<anonymous> (/var/task/node_modules/.pnpm/@[email protected]/node_modules/@node-rs/argon2/index.js:332:17)
        at Module._compile (node:internal/modules/cjs/loader:1364:14)
        at Module._extensions..js (node:internal/modules/cjs/loader:1422:10) {
      code: 'MODULE_NOT_FOUND',
      requireStack: [Array]
    }
  ]
}

Can't figure out why this is. Has there been any hacks or fixes for this issue?

Lenguaje dominante
Rust
Estrellas
1.5k
Forks
52
Merge medio
1 d 2 h
PR fusionados (30 d)
14

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de napi-rs/node-rs

Todos los issues de napi-rs/node-rs

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.