Moment: TS2307: No se puede encontrar el módulo 'momento'.

Creado en 1 may. 2020  ·  47Comentarios  ·  Fuente: moment/moment

Tengo problemas para importar el momento en mi proyecto angular 8.

Versión angular = 8.3.26
Escriba la versión del script = 3.6.2
versión de momento = 2.25.0

Recibo el error
importar momento desde 'momento'; .

He agregado "moduleResolution": "node" y "allowSyntheticDefaultImports": verdadero, en tsConfig

Alguien puede ayudarme en esto

Comentario más útil

prueba la versión 2.24, mis pruebas comenzaron a fallar en la nueva versión pero bien con la anterior

Todos 47 comentarios

prueba la versión 2.24, mis pruebas comenzaron a fallar en la nueva versión pero bien con la anterior

prueba la versión 2.24, mis pruebas comenzaron a fallar en la nueva versión pero bien con la anterior

Yo he tratado. pero vino el mismo error.

¿Cómo se ve la línea por momento en package.json?

su funcionamiento con 2.24.0 puede ser un error de implementación en 2.25.0
Implemente la nueva versión con corrección.

si usa hilo, agregue el bloque de resoluciones a package.json para anular las versiones de la subdependencia, funciona para mí

  "resolutions": {
    "moment": "2.24.0"
  }

Parece que la resolución del módulo de TypeScript no puede encontrar el momento. El uso de una ruta relativa funciona ./node_modules/moment/moment. @codebrent Gracias, ahora funciona con la versión 2.24.0.

En 2.25 esto se ha agregado a package.json. Pero si entiendo que no existe una ubicación correspondiente para el archivo typedef. ¿Quizás esto rompió los mecanografiados?

"typesVersions": {
    ">=3.1": {
      "*": [
        "ts3.1-typings/*"
      ]
    }
  },

su funcionamiento con 2.24.0 puede ser un error de implementación en 2.25.0
Implemente la nueva versión con corrección.

No, no me funciona

¿Cómo se ve la línea por momento en package.json?

"momento": "^ 2.25.0",

Capture
Todas las importaciones de momento devuelven error

¿Cómo se ve la línea por momento en package.json?

111

intente cambiar a "momento": "2.24.0", asegúrese de que no haya un ^ en él. elimine node_models y vuelva a instalar npm. Además, si tiene package-lock.json, es posible que deba eliminarlo. De lo contrario, npm seguirá instalando 2.25

Estoy viendo el mismo problema y, según la puntuación de compatibilidad de Dependabot por el momento , no soy el único.

La degradación a 2.24.0 puede ser una solución alternativa, pero efectivamente evita que al menos algunos usuarios usen 2.25.0.

intente cambiar a "momento": "2.24.0", asegúrese de que no haya un ^ en él. elimine node_models y vuelva a instalar npm. Además, si tiene package-lock.json, es posible que deba eliminarlo. De lo contrario, npm seguirá instalando 2.25

La forma canónica más segura de hacer esto es simplemente npm install [email protected] . No es necesario eliminar nada ni cambiar nada manualmente.

Puedo confirmar que la degradación a 2.24 soluciona el problema.

intente cambiar a "momento": "2.24.0", asegúrese de que no haya un ^ en él. elimine node_models y vuelva a instalar npm. Además, si tiene package-lock.json, es posible que deba eliminarlo. De lo contrario, npm seguirá instalando 2.25

La forma canónica más segura de hacer esto es simplemente npm install [email protected] . No es necesario eliminar nada ni cambiar nada manualmente.

Puedo confirmar que la degradación a 2.24 soluciona el problema.

A nivel local, se está ejecutando después de bajar la calificación a 2.24.0. pero cuando implemento esto en Azure, da el mismo error.
azure error

Mi pregunta es si es el mismo package.json que se ejecuta tanto en local como en azul, por qué está causando un error en el momento de la importación.
También he adjuntado el registro de errores en el servidor

Puedo confirmar que 2.25.0 da este problema pero no en 2.24.0.

También confirmo que 2.25.0 dan este problema. El momento 2.24.0 funciona bien.

Experimenté este problema durante la construcción de la imagen de la ventana acoplable.

no funciona con 2.24.0 para mí

La degradación solucionó el problema aquí también. ¿Quizás la versión de TypeScript puede jugar un papel en tener el error o no?

Yo uso momento-zona horaria
No funciona con la versión de momento de fijación a 2.24.0 en package.json

@zhuyuedlut @leafqi

no funciona con 2.24.0

probablemente no bajó a 2.24.0. Elimina el archivo de bloqueo del paquete y la carpeta node_modules, luego ejecuta este comando:

npm install --save --save-exact [email protected]
npm install

También estoy experimentando el mismo problema en un proyecto mecanografiado y la compilación falla de repente porque no fijamos la dependencia en package.json.

error TS2307: Cannot find module 'moment'.
error Command failed with exit code 2.

fijar la versión a "2.24.0" soluciona el problema.

Puede probar con el campo de resoluciones en package.json

Añadir

"resoluciones": {
"momento": "2.24.0"
}

También confirmo que con 2.25.0 tengo el mismo problema con mecanografiado 3.8.3 y ejecutándome con ts-node 8.9.1. La degradación a 2.24.0 resolvió el problema.

@zhuyuedlut @leafqi

no funciona con 2.24.0

probablemente no bajó a 2.24.0. Elimina el archivo de bloqueo del paquete y la carpeta node_modules, luego ejecuta este comando:

npm install --save --save-exact [email protected]
npm install

gracias. Mi problema ha sido resuelto. está trabajando con 2.24.0
uso correcto: "moment": "2.24.0"
uso incorrecto: "moment": "^2.24.0"

"Momento": "2.24.0" también funciona para mí ..

Lo mismo, el bloqueo en 2.24.0 lo solucionó.

Esto está en una aplicación angular 7.2 construida con webpack ^ 4.2.0

Sí, 2.24.0 está funcionando bien. ¿Alguien sabe cuál es el cambio que han hecho?

Igual, el problema se solucionó configurando la versión fija en "2.24" en lugar de "^ 2.24"

¿Tenemos una ETA para esta solución?

Es viernes y me pregunto si debería bajar a 2.24.0 antes del fin de semana.

intente cambiar a "momento": "2.24.0", asegúrese de que no haya un ^ en él. elimine node_models y vuelva a instalar npm. Además, si tiene package-lock.json, es posible que deba eliminarlo. De lo contrario, npm seguirá instalando 2.25

Gracias. El problema se solucionó al degradar la versión a 2.24.0

Sin embargo, ya no estás viviendo el momento :)

intente cambiar a "momento": "2.24.0", asegúrese de que no haya un ^ en él. elimine node_models y vuelva a instalar npm. Además, si tiene package-lock.json, es posible que deba eliminarlo. De lo contrario, npm seguirá instalando 2.25

Gracias, el problema se solucionó al degradar la versión de 2.25.0 a 2.24.0. También hice "^ 2.24.0" a "2.24.0"

Si la degradación de von 2.25.0 a 2.24.0 no funciona y obtiene el mismo error nuevamente, intente desinstalar el módulo por completo y vuelva a instalarlo.

Usando npm:

  1. npm uninstall moment
  2. npm install [email protected]

Espero eso ayude.

Salud
Unkn0wn0x

¿Alguna idea de cuándo se lanzará la solución? Veo que este es un problema roto y no tengo acceso para hacer cambios en Master para establecer la versión actual en 2.24 ahora y las compilaciones de producción fallan a izquierda y derecha.
Por favor, comparta la liberación ETA gracias

También tuve este problema y lo solucioné
quitando esas líneas
"typesVersions": { ">=3.1": { "*": [ "ts3.1-typings/*" ] } },
líneas 150-156
en
. \ node_modules \ moment \ package.json
y después de hacer esto, funciona completamente bien con la versión 2.25

También tuve este problema y lo solucioné
quitando esas líneas
"typesVersions": { ">=3.1": { "*": [ "ts3.1-typings/*" ] } },
líneas 150-156
en
. \ node_modules \ moment \ package.json
y después de hacer esto, funciona completamente bien con la versión 2.25

esto funcionará localmente, pero para las canalizaciones de CI, dudo

Gracias a todos: D 2.24.0 también funcionó para mí ...

Se rebajó a 2.24.0 y funciona bien.

2.25.1 lanzado

Probado 2.25.1, el problema desapareció. Gracias

Sí, también probé esto y no experimenté ningún problema.

De hecho, actualizado minutos después de su publicación y todo está bien: ¡gracias por la rápida corrección!

Finalmente me funciona. degradando a 2.24.0 funcionando. pero asegúrese de poner " momento": "2.24.0"
en lugar de "momento": "^ 2.24.0"
azure error

la versión 2.25.1 resolvió el problema No se puede encontrar el módulo 'momento', pero estoy probando en una aplicación Angular 8 y arroja el siguiente error:

WARNING in ./node_modules/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in '/home/project/node_modules/moment/src/lib/ locale'

¿Alguien más ha experimentado este fracaso?

También recibo advertencias en 2.25.1 sobre algunas de las otras funciones a las que me refiero:

"export 'utc' (imported as 'moment') was not found in 'moment'
"export 'max' (imported as 'moment') was not found in 'moment'
"export 'min' (imported as 'moment') was not found in 'moment'

Para mi fue

    "moment": "2.24.0",
    "moment-timezone": "^0.5.31",

Creo que puedes actualizar el momento a la versión 2.29.0

npm uninstall moment
npm install [email protected]

TS2307: No se puede encontrar el módulo 'momento' en Angular 8

¿Fue útil esta página
5 / 5 - 1 calificaciones