Editar: Se você definir sua dependência para 2.18.1, tudo ficará bem.
Edição 2: Defina "moment": "2.18.1"
em seu package.json
Editar 3: Acreditamos que isso seja corrigido.
Olá.
Usando criar-reagir-app. Depois de atualizar o momento para 2.19.0, tenho este erro no carregamento:
Erro: Não é possível encontrar o módulo "./locale"
-> 9 frames da pilha foram recolhidos.
./src/utils/Utils.js
src / utils / Utils.js: 1
1 importar momento de 'momento'
Tenho o mesmo, confirmando esse erro.
mesmo aqui
Pode confirmar:
This relative module was not found: * ./locale in ./node_modules/moment/src/lib/locale/locales.js
OK, vamos analisar isso, mas não será muito rápido.
Alteramos o nome da função require, se alguém puder ver / investigar se ela está vinculada a:
https://github.com/moment/moment/pull/4213
https://github.com/moment/moment/pull/4214
Mesmo problema aqui. O downgrade resolveria o problema?
O mesmo aqui, quebrou vários aplicativos que trabalho.
@patricksteenks : sim. Corrija assim em seu package.json "moment": "2.18.1"
@ichernev ei, mas estou usando locale sem importar. Basta usar import moment from 'moment'
e usar assim moment(date).locale('uk').format('ddd')
. Pelo que entendi, você mudou a importação para locale
. Como posso consertar isso no meu caso?
Mesmo problema no projeto construído com Angular-CLI
Confirmado.
As compilações do VueJS 2 Webpack também foram afetadas. A correção temporária é como GautierT sugeriu (downgrade momentjs)
package.json (problema com fuso horário no momento 2.19)
"moment": "2.18.1",
"moment-timezone": "^0.5.13",
package.json (problema em geral)
"moment": "2.18.1"
Posso confirmar que isso também está acontecendo!
Eu posso confirmar.
package.json
"moment": "2.18.1"
@renedx apenas esta linha o suficiente
O mesmo em um aplicativo Angular 4.
Acabei de fazer downgrade para 2.18.1 (número de versão estrito em package.json)
Também fui atingido por isso. Suspeito que seja o webpack fazendo mágica para reconhecer o "require" dinâmico e não pode mais reconhecê-lo com o novo nome e, portanto, as localidades nunca são agrupadas no pacote.
(Aliás, toda essa situação parece muito com exatamente para que servem as importações dinâmicas ES6. Podemos sonhar :-)
Eu uso no webpack desta página
new IgnorePlugin(/^\.\/locale$/, /moment$/)
Agora remova-o
E em exigir
const moment = require('moment');
Agora
const moment = require('moment').default;
Estritamente falando, acho que a conexão Angular é simplesmente porque a maioria dos projetos Angular usa Angular-CLI, que usa Webpack internamente. Mas pode estar relacionado a alguma configuração específica do Webpack nessa pilha.
No entanto, parece ser um problema de empacotamento bastante geral.
Arrependa-se, arrependa-se, o dia do juízo final está aqui!
Mesmo aqui.
import moment from "moment"
import "moment/locale/fr"
moment.locale("fr")
WARNING in ./node_modules/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in '/Users/kud/Projects/_contexte/lois-webapp/node_modules/moment/src/lib/locale'
@ ./node_modules/moment/src/lib/locale/locales.js 65:16-60
@ ./node_modules/moment/src/lib/locale/locale.js
@ ./node_modules/moment/src/moment.js
@ ./src/index.js
O mesmo aqui - eu consertei com um recurso do yarn para sobrecarregar as configurações padrão de um pacote:
coloque isso em seu package.json principal (adapte "moment-timezone" ao nome do pacote que carrega o momento se você não carrega diretamente o momento):
"resolutions": {
"moment-timezone/moment": "2.18.1"
},
assim como um asteróide de 10km ... o mesmo aqui ...
Qual é o ETA para correção?
Ok, é aqui que estamos:
Erro confirmado ao executar o app react criado com a CLI create-react-app.
Resolvido este momento de degradação e a versão de fuso horário monent.
npm install [email protected]
como uma correção temporária para que você não precise lidar com a atualização de package.json
várias vezes. Isso provavelmente será corrigido em breve, então você pode fazer npm i
.
@aheissenberger isso salvou minha vida, tive o mesmo problema com o rc-calendar, posso confirmar que funciona para o yarn 1.2.0.
Mesmo problema webpack 3.6.0 + moment 2.19.0. Funcionou bem com 2.18.1
Outros podem ter meu mesmo problema: Embora eu não tenha atualizado para 2.19.0, em meu package.json eu tinha ^2.18.1
. Eu mudei para 2.18.1
sem o ^
, e agora ele não instalará nada superior a 2.18.1 até que saibamos que 2.19.x é seguro
@ichernev parece muito provável que a renomeação de 'require' esteja causando essas quebras generalizadas. Suspeito que quando você precisa de módulos usando uma referência como essa, isso significa que o webpack não é capaz de detectar a importação, pois usa a análise estática AST para determinar as dependências.
Talvez você possa fornecer alguns detalhes sobre o problema do React Native que ele estava corrigindo, pois pode haver uma maneira melhor de contornar o problema original.
Em nosso projeto, estamos usando yarn 1.0.2
, create-react-app
e esses recursos em package.json
"dependencies": {
"@types/history": "^4.5.0",
"@types/jest": "^20.0.6",
"@types/material-ui": "^0.18.2",
"@types/moment-timezone": "^0.5.0",
"@types/node": "^8.0.20",
"@types/react": "^16.0.10",
"@types/react-big-calendar": "^0.14.0",
"@types/react-dnd": "^2.0.33",
"@types/react-dnd-html5-backend": "^2.1.8",
"@types/react-dom": "^16.0.1",
"@types/react-modal": "^1.6.6",
"@types/react-redux": "^4.4.40",
"@types/react-router-dom": "^4.0.4",
"@types/react-router-redux": "^5.0.0",
"@types/redux": "^3.6.0",
"@types/redux-logger": "^3.0.0",
"@types/redux-promise-middleware": "^0.0.6",
"@types/validator": "6.3.0",
"lodash": "^4.17.4",
"material-ui": "0.19.2",
"material-ui-datatables": "^0.18.2",
"material-ui-fullscreen-dialog": "0.7.1",
"moment": "2.18.1",
"moment-timezone": "^0.5.13",
"react": "^15.6.1",
"react-barcode": "^1.2.0",
"react-big-calendar": "^0.15.0",
"react-bootstrap": "^0.31.0",
"react-bootstrap-table": "^3.4.2",
"react-bootstrap-time-picker": "^1.0.3",
"react-dnd": "^2.4.0",
"react-dnd-html5-backend": "^2.4.1",
"react-dock": "^0.2.4",
"react-dom": "^15.5.4",
"react-modal": "^1.7.7",
"react-pdf-js": "^2.0.5",
"react-phone-number-input": "^0.12.10",
"react-print": "^1.3.1",
"react-redux": "5.0.6",
"react-router-dom": "^4.1.1",
"react-router-redux": "next",
"react-tap-event-plugin": "^2.0.1",
"react-transition-group": "^1.1.1",
"redux": "3.7.2",
"redux-logger": "^3.0.1",
"redux-persist": "^4.8.0",
"redux-promise-middleware": "4.2.1",
"reselect": "^3.0.1",
"validator": "8.2.0",
"zxcvbn": "^4.4.2"
}
Embora estejamos usando "moment": "2.18.1"
, ainda estamos recebendo
Existe uma solução alternativa para o problema de fios?
@ggsjyoon : Eu tive uma situação semelhante (ainda recebendo o erro) até que lembrei que você precisará atualizar um dos arquivos que o WebPack está observando para que ele seja regenerado e eliminado qualquer versão em cache.
+1
@ggsjyoon pode haver um requisito adicional de um de seus pacotes (por exemplo, fuso-horário do momento) - você pode usar minha dica https://github.com/moment/moment/issues/4216#issuecomment -335489518 para consertar isso com fios
Acabei superando isso mudando:
import * as moment from 'moment';
para:
import * as moment from 'moment/moment';
+1
@morrisonbrett Isso funciona. Obrigado
Confirmar a sugestão de @GautierT funciona para mim.
@maggiepint Vendo o que funcionou para @morrisonbrett , estou pensando que # 4213 pode não ser o problema. 2.19 introduziu outra mudança, o campo do módulo em package.json - isto é, anteriormente o webpack estava usando a versão transpilada.
Ativar o ES6 para o react native é o que causou a maioria dos problemas de bloqueio # 4187 e # 3904 (no branch de desenvolvimento apenas por um bom tempo) fez a mesma alteração para todos os usuários do webpack.
@tqc - provavelmente os dois. @thelarkinn já confirmou que o webpack não gostaria que a dinâmica exigisse.
Mesmo problema aqui, alguma atualização?
@maggiepint Sim, percebi logo depois de escrever aquele comentário que o bug no final do tópico não era exatamente o mesmo do início. O lado ES6 das coisas pode ser corrigido com algo como module.exports = require(‘moment’).default
, mas não tenho certeza se isso ainda permitirá a agitação da árvore, e a harmonia do nó não gosta de misturar importação com requerer.
resolvido via webpack aliasing:
resolve: {
alias: {
'moment$': 'moment/moment',
},
},
Alguém pode descobrir todos os bits do 2.19 que quebraram o webpack, propor um PR mínimo (baseado no 2.19.0), que reverta as partes "ruins", e consideraremos mesclá-lo para o 2.19.1.
Dizer "eu também" pela primeira vez não é muito útil.
A solução de @morrisonbrett funciona import * as moment from 'moment/moment';
Posso confirmar esse mesmo problema com o Angular-CLI v1.4.4. Fiquei inicialmente surpreso quando vi o erro envolvendo momentjs, já que meu projeto não o usa, mas após investigar rastreei sua injeção de volta ao WebPack.
Esta é minha mensagem de aviso quando eu construo:
WARNING in ./node_modules/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in '/Users/scott/Development/web-admin/node_modules/moment/src/lib/locale'
resolve './locale' in '/Users/scott/Development/web-admin/node_modules/moment/src/lib/locale'
using description file: /Users/scott/Development/web-admin/node_modules/moment/package.json (relative path: ./src/lib/locale)
Field 'browser' doesn't contain a valid alias configuration
after using description file: /Users/scott/Development/web-admin/node_modules/moment/package.json (relative path: ./src/lib/locale)
using description file: /Users/scott/Development/web-admin/node_modules/moment/package.json (relative path: ./src/lib/locale/locale)
as directory
/Users/scott/Development/web-admin/node_modules/moment/src/lib/locale/locale doesn't exist
[/Users/scott/Development/web-admin/node_modules/moment/src/lib/locale/locale]
@ ./node_modules/moment/src/lib/locale/locales.js 65:16-60
@ ./node_modules/moment/src/lib/locale/locale.js
@ ./node_modules/moment/src/moment.js
@ ./src/app/admin-analytics/admin-analytics.component.ts
@ ./src/$$_gendir/app/app.module.ngfactory.ts
@ ./src/main.ts
@ multi ./src/main.ts
Também tentei o método import * as moment from 'moment/moment';
, mas não tive sorte.
Ei @kud , @AleshaOleg - se você ainda está tentando importar locales:
em vez de:
import 'moment/locale/*
experimentar:
import 'moment/src/locale/*'
Tenho lutado com o mesmo problema por aqui ...
–––
@AleshaOleg : no seu caso de uso, acho que poderia ser:
import moment from 'moment'
import 'moment/src/locale/uk'
e depois chame moment(date).format('ddd')
Obrigado @dialnco !
Acabei lidando com este problema, ao atualizar para 2.19.0
, desabilitando completamente o código que tenta carregar locales.
({
test: /moment\/src\/lib\/locale\/locales.js$/,
enforce: 'pre',
use: {
loader: 'imports-loader',
options: {
module: '>undefined', // this disables the if
require: '>false' // this prevents webpack from trying to parse the requires
}
}
})
Em seguida, adicionei manualmente import 'moment/src/locale/ja'
, import 'moment/src/locale/pt-br'
e outros, conforme necessário para meu aplicativo, em vez de carregar todos os locais. Se você for criativo, pode usar import()
s dinâmicos em vez de carregar apenas o idioma de que seu aplicativo precisa.
É muito importante que, se você fizer isso, não faça import 'moment/locale/foo'
, mas sim import 'moment/src/locale/foo'
. Por causa de como os arquivos de localidade tentam se referir ao próprio moment
, eles irão agrupar uma segunda cópia de moment
(desta vez, a construção UMD em oposição à construção ESM) e que irá, em por sua vez, carregue todos os locais novamente.
Espero que isso ajude alguém (opções 1 e 2 do comentário acima, graças a @patsissons ):
-Se você não tiver nenhum módulo que carregue moment.js, mas seu aplicativo sim, basta mover para uma versão mais antiga
-Se você tiver quaisquer módulos que também tenham moment.js nas dependências, o acima não irá ajudá-lo, você terá que modificar a configuração do seu webpack:
{...
resolver: {
...
alias: {
'momento $': 'momento / momento',
}
}
}
-Mas se você estiver usando react-create-app (como eu) e você precisa ter o build funcional o mais rápido possível, a única opção para você executar 'npm eject', desta forma você terá acesso à configuração do webpack e segundo opção estará disponível para você.
Desculpe, mas o único método que funcionou aqui foi o de @patsissons . https://github.com/moment/moment/issues/4216#issuecomment -335637520
Ainda
import moment from "moment"
import "moment/locale/fr"
moment.locale("fr")
mas adicionando no webpack
resolve: {
alias: {
'moment$': 'moment/moment',
}
},
Por algum motivo, o yarn ignorou minha configuração de "resoluções" do package.json.
Uma maneira rápida de consertar, se você estiver usando o fuso horário do momento, é editar o yarn.lock
[email protected]:
version "2.18.1"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f"
"moment@>= 2.9.0":
version "2.18.1"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f"
Esperamos a correção 2.19.1 ....
Alguém poderia descrever qual é o problema real aqui? É simplesmente porque o webpack não identifica o alias require ()?
@TomMettam 2.19.0 apontou o webpack para o código es6 em moment / src / moment, que não exporta exatamente a mesma interface que moment / moment.
Além disso, o alias requer evita que o webpack empacote todos os arquivos que poderiam ser solicitados dinamicamente. Importar os arquivos de localidade manualmente funcionaria, exceto que a escolha óbvia de importar de momento / local irá carregá-los em uma instância de momento diferente daquela que você está realmente usando.
E se isso for muito simples, há diferenças no comportamento de diferentes versões de yarn / npm - estou usando uma versão de npm que usa qualquer instância do pacote que está na pasta node_modules do aplicativo raiz, mas outras versões fazem é mais difícil substituir o packag usado.
Quem decidiu que alterar a assinatura de exportação em uma versão secundária é uma boa ideia?
Observe que isso também quebra as bibliotecas de terceiros que dependem do momento
+1
Não é aceitável para um pequeno upgrade.
Eu entendo a ideia por trás, mas por favor, seja mais rígido com relação ao semver.
@darkalor não foi intencional - a assinatura de exportação em questão só é materialmente diferente em um conjunto limitado de circunstâncias - o tipo de coisa que parece funcionar bem até ser exposta a um grande número de usuários.
@darkalor @kud - Regressões acontecem. Por favor, tente ser construtivo; todos estão cientes de que isso não deveria ter acontecido e reclamar não ajuda ninguém.
@TomMettam Sim, acontece, mas quando acontecer, você pode lidar com isso e, por lidar, quero dizer que você pode atualizá-lo como principal, não secundário. Isso é tudo. Não culpo ninguém, culpo a situação de que se alguém pensa "ah ok, posso fazer um upgrade, pois é só um detalhe menor", está um tanto errado neste caso. ;)
Agradeço todo o trabalho feito na hora, mas só falo da situação instável.
Eu não ofendo ninguém, desculpe.
@kud não quando você precisa escolher o número da versão antes de saber que a regressão existe. O nível de complexidade necessário para suportar o número de ambientes que o momento oferece é algo bastante impressionante.
@tqc, mas agora você sabe disso, é isso. Como dito anteriormente por @TomMettam , isso acontece.
É possível remover e / ou adicionar tags.
De qualquer forma, não vou mais enviar spam aqui, obrigado pela solução alternativa; Eu adicionei uma nota para outras pessoas que não estão acompanhando esse problema, no changelog: https://gist.github.com/ichernev/5f3f4eb02761b4f765a0cccf02cec603#gistcomment -2226628
Tenha um ótimo dia. :)
Estou usando o yarn como meu gerenciador de pacotes. Por algum motivo, meu arquivo yarn.lock não estava atualizando para refletir a alteração que fiz em meu arquivo package.json. minhas configurações como @daniesy disse. O problema era o fuso horário no meu arquivo yarn.lock ainda dependendo da versão do momento '^ 2.18.1'.
Para corrigir isso, executei uma limpeza do cache de fios :
yarn cache clean
Então :
yarn install
Esperançosamente, isso deve gerar novamente seu arquivo
[email protected]:
version "0.5.13"
resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.13.tgz#99ce5c7d827262eb0f1f702044177f60745d7b90"
dependencies:
moment ">= 2.9.0"
[email protected], [email protected], "moment@>= 2.9.0", moment@^2.17.1:
version "2.18.1"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f"
De qualquer forma, verifique se o seu bloqueio de fio não está tentando incluir uma versão de momento maior que 2.18.1 em nenhum módulo, especialmente fuso-horário e momento.
Acho que temos uma solução: https://github.com/moment/moment/pull/4232
Melhor parte - acho que isso funcionará tanto para webpack quanto para o react nativo - sem tristeza!
Já testei no webpack, mas alguém usaria o teste nativo reage? Observe que você precisará executar o grunt release para obter os arquivos compilados antes de testar usando uma ligação npm.
@maggiepint - Alguma possibilidade disso funcionar para o Angular-CLI também?
2.19.1 foi lançado, experimente
Funciona para mim com Webkit.
Obrigado @ichernev e todos os envolvidos!
@ichernev : 2.19.1 está funcionando para mim.
React 16.
criar-reagir-app.
Não ejetado
Momento carregado assim:
import moment from 'moment'
import 'moment/locale/fr'
Obrigado pela correção. 👍
Acabei de disparar outro build do VSTS usando angular-cli / webpack e reimplantar no ambiente
Tudo voltou ao normal
Obrigado
Eu também posso confirmar que o problema foi resolvido para o Angular-CLI v1.4.4. Obrigada!
funciona com typescript / webpack / karma / phantomjs. Obrigado pela correção!
Para fazer funcionar, apenas incluí o arquivo de localidade antes do momento.
import 'moment/locale/de';
import moment from 'moment';
e mais tarde fez
moment.locale("de");
parece ainda existir na "versão": "2.22.2"?
Também estou usando o 2.22.2. o problema ainda existe
Estou usando o 2.22.2 e vendo o mesmo problema.
Como acima. Mesmo problema, mesma versão.
Usando o react nativo e vendo este erro para uma versão de lançamento:
09-04 13:47:38.684 26530 26554 E ReactNativeJS: Requiring unknown module "./locale/de".
09-04 13:47:38.693 26530 26555 E AndroidRuntime: FATAL EXCEPTION: mqt_native_modules
09-04 13:47:38.693 26530 26555 E AndroidRuntime: Process: com.integreat, PID: 26530
09-04 13:47:38.693 26530 26555 E AndroidRuntime: com.facebook.react.common.JavascriptException: Requiring unknown module "./locale/de"., stack:
09-04 13:47:38.693 26530 26555 E AndroidRuntime: c<strong i="6">@2</strong>:649
09-04 13:47:38.693 26530 26555 E AndroidRuntime: i<strong i="7">@2</strong>:394
09-04 13:47:38.693 26530 26555 E AndroidRuntime: t<strong i="8">@2</strong>:324
09-04 13:47:38.693 26530 26555 E AndroidRuntime: vt<strong i="9">@882</strong>:16755
09-04 13:47:38.693 26530 26555 E AndroidRuntime: Mt<strong i="10">@882</strong>:17781
09-04 13:47:38.693 26530 26555 E AndroidRuntime: Mn<strong i="11">@882</strong>:29014
09-04 13:47:38.693 26530 26555 E AndroidRuntime: value<strong i="12">@1006</strong>:1442
09-04 13:47:38.693 26530 26555 E AndroidRuntime: qn<strong i="13">@108</strong>:40634
09-04 13:47:38.693 26530 26555 E AndroidRuntime: tr<strong i="14">@108</strong>:46334
09-04 13:47:38.693 26530 26555 E AndroidRuntime: Nr<strong i="15">@108</strong>:56528
09-04 13:47:38.693 26530 26555 E AndroidRuntime: Ur<strong i="16">@108</strong>:56960
09-04 13:47:38.693 26530 26555 E AndroidRuntime: ui<strong i="17">@108</strong>:61804
09-04 13:47:38.693 26530 26555 E AndroidRuntime: oi<strong i="18">@108</strong>:61224
09-04 13:47:38.693 26530 26555 E AndroidRuntime: Ue<strong i="19">@108</strong>:68050
09-04 13:47:38.693 26530 26555 E AndroidRuntime: Ie<strong i="20">@108</strong>:14248
09-04 13:47:38.693 26530 26555 E AndroidRuntime: We<strong i="21">@108</strong>:14421
09-04 13:47:38.693 26530 26555 E AndroidRuntime: receiveTouches<strong i="22">@108</strong>:15235
09-04 13:47:38.693 26530 26555 E AndroidRuntime: value<strong i="23">@18</strong>:3352
09-04 13:47:38.693 26530 26555 E AndroidRuntime: <unknown><strong i="24">@18</strong>:935
09-04 13:47:38.693 26530 26555 E AndroidRuntime: value<strong i="25">@18</strong>:2621
09-04 13:47:38.693 26530 26555 E AndroidRuntime: value<strong i="26">@18</strong>:907
2.22.1 funciona
não está trabalhando para mim ainda
eu também não consigo fazer o 2.18.1 funcionar para mim
2.22.1 ftw lol
Também notei uma regressão na v2.22.2. Reverter para 2.22.1 corrigiu para mim.
Olá a todos,
Tive o mesmo problema (usando Webpack no Laravel). Isso não é ideal, mas uma solução rápida que funcionou para mim é copiar a pasta "locale" do repositório junto com o arquivo moment.js ou moment-with-locale.js.
Também encontrando isso em v2.22.2
.
Para fazer funcionar, apenas incluí o arquivo de localidade antes do momento.
import 'moment/locale/de'; import moment from 'moment';
e mais tarde fez
moment.locale("de");
@ mj1856 é apropriado reabrir este problema ou devemos criar um novo / novo? Eu também estou vendo isso de novo. Reverter para 2.22.1 não corrigiu no meu caso e eu tive que usar a correção @patsissons para deixar o webpack feliz novamente.
mesmo
Usei allowSyntheticDefaultImports conforme explicado no documento aqui: https://momentjs.com/docs/#/use -it / typescript / e resolveu o erro Cannot find module "./locale"
para mim. Observe que // @ts-ignore
acima da importação também era necessário em meu IDE.
mesma pergunta , moment:'2.18.1'
Isso ainda é recomendado: import moment from "moment/min/moment-with-locales";
?
b / c acabo com o mesmo (?) erro com [email protected]
e CRA:
./node_modules/moment/min/moment-with-locales.js
Module not found: Can't resolve './locale' in '/...myproject/node_modules/moment/min'
Para todos os transeuntes da Internet, aqui está uma maneira de consertar se você construir com rollup:
Supondo que você esteja usando rollup-plugin-node-resolve
:
import commonjs from "rollup-plugin-commonjs";
import nodeResolve from "rollup-plugin-node-resolve";
export default {
// your config...
plugins: [
nodeResolve({
mainFields: ["module", "jsnext:main", "main"],
preferBuiltins: false,
}),
commonjs({
include: "node_modules/**",
}),
]
}
moment
tem uma entrada package.json
para jsnext:main
que podemos aproveitar aqui. para incluir as localidades para nós durante o processo de construção. O tamanho do seu pacote aumentará, mas evitará os erros do console 😅
Tenho o mesmo problema com a versão 2.24.0 do momento em meu aplicativo React. Acho que esse problema ainda não foi resolvido.
Tenho o mesmo problema com a versão 2.24.0 do momento em meu aplicativo React. Acho que esse problema ainda não foi resolvido.
A confirmar. "momento": "2.24.0". 2.18.1 não está resolvendo o problema. Node v12.16.0
O mesmo aqui, com 2.24.0
para meu projeto Preact.
Ainda com esse problema, por favor me ajude !!
Para mim, quebrado: "momento": "^ 2.24.0" (resolvendo para 2.25.0)
Não quebrado: "momento": "2.24.0"
se você usar o yarn, adicione o bloco de resoluções para substituir as versões da subdependência:
"resolutions": {
"moment": "2.24.0"
}
Use "moment": "2.24.0"
e, conforme sugerido por @lilyu , use a resolução. Funcionou para mim.
Reverter para "2.24.0" e remover o "^" funcionou para mim. Parece que a última versão deles foi lançada ontem à noite e está jogando fora.
Enfrentando um problema com "moment": "^2.24.0",
.
Uncaught Error: Cannot find module './locale'
at
O mesmo problema. Resolvido com a solução @enewhuis . Obrigado!
O mesmo problema. Resolvido com a solução @enewhuis . Obrigado cara.
Resolvido o problema com a solução @enewhuis e @likeu. Obrigado.
O mesmo problema. solução @enewhuis para o resgate
Para mim, quebrado: "momento": "^ 2.24.0" (resolvendo para 2.25.0)
Não quebrado: "momento": "2.24.0"
Obrigado cara, estou lutando com isso o dia todo
Mesmo erro e mesma correção aqui. Eu estava usando o fuso horário do momento.
Antes de:
"moment-timezone": "^0.5.28",
Depois de:
"moment": "2.24.0",
"moment-timezone": "^0.5.28",
Mesmo erro e mesma correção aqui. Eu estava usando o fuso horário do momento.
Antes de:
"moment-timezone": "^0.5.28",
Depois de:
"moment": "2.24.0", "moment-timezone": "^0.5.28",
Não trabalhando para mim com -
"moment": "2.24.0",
"moment-timezone": "0.5.28",
A correção acima não funciona para mim. Node v12.6.0, yarn v1.22.4, react-scripts-ts
Trabalhou para nós com
"resolutions": {
"moment": "2.24.0"
},
e
"moment": "2.24.0",
"moment-timezone": "0.5.28",
usando fio
Não funcionou sem o bloco de resoluções.
Sim, posso confirmar que adicionar o bloco resolutions
funcionou para mim. Não tenho ideia do porquê, entretanto ...
Obrigado @mtogstad !
A solução
Não entendo como esse erro pode aparecer aleatoriamente e destruir meu aplicativo de reação
@bodyfarmer, você pode escrever etapas sobre como resolver isso?
Estou enfrentando o mesmo problema com o app react.
@hasanmehmood No meu caso foi suficiente fazer um downgrade das dependências de momento desta forma no CMD:
npm install [email protected]
Espero que isto funcione para você também.
Ola pessoal!
Eu enfrentei o mesmo problema nas últimas horas e finalmente resolvi isso mudando a versão do momento.
Nos comentários acima, vi a solução final.
Razão:
_moment lançar a nova versão 17 horas atrás de 2.24.0 a 2.25.0_
Solução:
Etapa 1: alterar as versões
Etapa 2: se você estiver usando yarn, adicione resoluções em seu arquivo package.json como esta
"dependências" {
"momento": "2.24.0",
"fuso horário do momento": "^ 0,5,28"
},
"resoluções": {
"momento": "2.24.0"
},
Obrigado.
Obrigado, @jolalla , primeiro tentei fazer o downgrade da versão, mas não funcionou para mim. Finalmente adicionar o bloco de resoluções mostrou alguma magia :)
Para outras pessoas que estão enfrentando um problema semelhante com seu aplicativo de reação. Eles podem executar as 2 etapas a seguir para resolvê-lo.
Nas dependências, substitua
"moment": "^2.24.0",
com
"moment": "2.24.0",
E adicione o bloco de resoluções em package.json
"resolutions": {
"moment": "2.24.0"
}
Por que este problema foi encerrado!?! ??!?
Bom momento para mudar para luxon, que é o que fiz para um projeto que tinha pouco uso de momento.
Tendo o mesmo problema
"resoluções": {
"momento": "2.24.0"
}
resolver meu problema.
Obrigado.
Posso tentar mais alguma coisa? "moment": "2.24.0"
, e
"resolutions": {
"moment": "2.24.0"
}
não estão consertando para mim. Isso é para uma implantação do Heroku. Todas as idéias são apreciadas.
Se por acaso alguém mais tiver um monorepo (e / ou estiver usando espaços de trabalho em package.json), a correção de 'resoluções' para usar o momento anterior versão 2.24.0 só funcionará se aplicada no nível de raiz package.json. Em nosso caso, tivemos que fazer o seguinte:
{“Resoluções”: {“** / momento”: “2.24.0”}}.
Espero que a versão 2.25 do momento seja corrigida adequadamente o mais rápido possível!
se você usar o yarn, adicione o bloco de resoluções para substituir as versões da subdependência:
"resolutions": { "moment": "2.24.0" }
Estou lidando com isso há uma hora. remover ^
ajuda.
Para pessoas que usam o app create-react-app e não querem ejetar o CRA, você pode instalar:
Em seguida, crie um config-overrides.js
no diretório raiz do seu projeto para posterior substituição.
module.exports = function override(config, env) {
// do stuff with the webpack config...
return config;
};
Edite seu package.json:
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test",
Porque eu uso o design de formigas, meu config-overrides.js
parece com isto:
const { override, fixBabelImports } = require("customize-cra");
const webpack = require("webpack");
const fixMomentJs = (config) => {
config.plugins.push(
new webpack.ContextReplacementPlugin(/^\.\/locale$/, (context) => {
if (!/\/moment\//.test(context.context)) {
return;
}
// context needs to be modified in place
Object.assign(context, {
// include locales
regExp: /^\.\/(fr|en)/,
// point to the locale data folder relative to moment's src/lib/locale
request: "../../locale",
});
})
);
return config;
};
module.exports = override(
fixMomentJs,
fixBabelImports("import", {
libraryName: "antd",
libraryDirectory: "es",
style: "css",
})
);
Mas o seu vai ser mais simples, algo assim eu acho:
module.exports = function override(config, env) {
config.plugins.push(
new webpack.ContextReplacementPlugin(/^\.\/locale$/, (context) => {
if (!/\/moment\//.test(context.context)) {
return;
}
// context needs to be modified in place
Object.assign(context, {
// include locales
regExp: /^\.\/(fr|en)/,
// point to the locale data folder relative to moment's src/lib/locale
request: "../../locale",
});
})
);
return config;
};
Obrigado, @jolalla , primeiro tentei fazer o downgrade da versão, mas não funcionou para mim. Finalmente adicionar o bloco de resoluções mostrou alguma magia :)
Para outras pessoas que estão enfrentando um problema semelhante com seu aplicativo de reação. Eles podem executar as 2 etapas a seguir para resolvê-lo.
Nas dependências, substitua
"moment": "^2.24.0",
com
"moment": "2.24.0",
E adicione o bloco de resoluções em package.json
"resolutions": { "moment": "2.24.0" }
Funciona para mim. Obrigado
@hasanmehmood funcionou para mim, obrigado cara
Obrigado, @jolalla , primeiro tentei fazer o downgrade da versão, mas não funcionou para mim. Finalmente adicionar o bloco de resoluções mostrou alguma magia :)
Para outras pessoas que estão enfrentando um problema semelhante com seu aplicativo de reação. Eles podem executar as 2 etapas a seguir para resolvê-lo.
Nas dependências, substitua
"moment": "^2.24.0",
com
"moment": "2.24.0",
E adicione o bloco de resoluções em package.json
"resolutions": { "moment": "2.24.0" }
Funciona para mim também! Obrigada!! : D
Tenho feito isso por horas no meu aplicativo angular 8 com npm.
"devDependencies": {...},"resolutions": {
"moment": "2.24.0"
}
para package.jsonrm -rf node_modules package-lock.json && yarn
Estou muito desesperado ... Estou usando o momento 2.25.1 e alterando as "devDependencies": {...}, "resoluções": {"moment": "2.25.1"} como acima ... não trabalhando
estou usando o npm. Eu sou um novato em reagir onde está devDependencies?
eu mudei isso, mas ainda não está funcionando
Estou usando a versão "2.25.1" e ainda está acontecendo!
@ m4mariaoni - isso é porque você instalou sem --save-dev
, então você está mudando a parte certa.
Se você ainda estiver encontrando esse problema após bloquear o momento para 2.24.0, elimine a pasta de momento de node_modules e reinstale seus pacotes com npm install --save
Obrigado, @jolalla , primeiro tentei fazer o downgrade da versão, mas não funcionou para mim. Finalmente adicionar o bloco de resoluções mostrou alguma magia :)
Para outras pessoas que estão enfrentando um problema semelhante com seu aplicativo de reação. Eles podem executar as 2 etapas a seguir para resolvê-lo.
Nas dependências, substitua
"momento": "^ 2.24.0",
com
"momento": "2.24.0",
E adicione o bloco de resoluções em package.json
"resoluções": {
"momento": "2.24.0"
}
Funciona para mim também! Obrigada!! : D! pensa!
Obrigado, @jolalla , primeiro tentei fazer o downgrade da versão, mas não funcionou para mim. Finalmente adicionar o bloco de resoluções mostrou alguma magia :)
Para outras pessoas que estão enfrentando um problema semelhante com seu aplicativo de reação. Eles podem executar as 2 etapas a seguir para resolvê-lo.
Nas dependências, substitua
"moment": "^2.24.0",
com
"moment": "2.24.0",
E adicione o bloco de resoluções em package.json
"resolutions": { "moment": "2.24.0" }
Substituindo
"moment": "^2.24.0",
com
"moment": "2.24.0",
funciona para mim! O de costume,
rm -rf package-lock.json && node_modules
Apesar de fazer todas as medidas acima, ainda não está funcionando ...
Isso é frustrante
Repositórios criados anteriormente foram usados no momento 2.24.0 com React, e ainda está funcionando, mas instale o momento2.24.0 agora, não está funcionando .... (Eu tentei todas as medidas acima também)
Qual é a causa?
Eu imagino que você possa ter um ^ 2.24.0 em vez de 2.24.0 em algum lugar em um package.json @ wlsdud2194?
Não sei, e ainda assim o erro continua vindo. É estranho
a versão do momento é 2.24.0
em um package.json ao invés de ^2.24.0
desde que o instalei.
Eu segui esse processo, uma das medidas acima
- adicionar bloco de resoluções
- remova o diretório
node_modules
e reinstale o pacote do yarn.
funciona para mim, mas não sei porque trabalhar ... 😂
Obrigado pelo seu interesse :) @agrohs
Tive que fazer downgrade de ^2.25.1
para 2.24.0
para corrigir o problema
Não sei, e ainda assim o erro continua vindo. É estranho
Tente executar npm ls moment
para ver se algum outro módulo também usa o momento
E adicione o bloco de resoluções em package.json
"resoluções": {"momento": "2.24.0"}
remova o diretório node_modules e reinstale o pacote do yarn.
rm -rf package-lock.json && node_modules
Contato: Sr. Liu Tel: 18908205973
Fax: 028-86676917
E-mail: [email protected]
Nome da empresa: Chengdu Shouzhi Technology Co., Ltd. Site da empresa: www.szdma.com
Endereço: Yinhai Building, No. 162, Binjiang East Road, Chengdu
Chengdu Shouzhi Technology Co., Ltd. foi fundada em 2010. É uma empresa profissional de desenvolvimento de personalização de software para pequenas e médias empresas em Chengdu. A empresa atende principalmente a pequenas e médias empresas. Fornece construção de rede local, website construção, soluções de customização de software, etc., e fornece serviços manuais Um conjunto completo de serviços para o negócio de informática. A empresa adere ao princípio de "integridade e orientação para o serviço" para destacar a imagem da empresa; através de nossos esforços incessantes, oferecemos aos clientes serviços de alta qualidade.
Estamos recebendo Webpack Error: Cannot find module "./locale"
erro. Estamos usando o pacote 'react-redux-i18n' em nosso projeto, que depende do 'react-i18nify' e que, por sua vez, depende do 'momento'. Internamente, o 'momento' é configurado para usar a versão mais recente que está causando este erro.
Nas dependências
"reagir": "^ 16.8.1",
"momento": "2.24.0",
"fuso horário de momento": "^ 0.5,28",
"react-moment-proptypes": "^ 1.5.0",
"react-redux-i18n": "^ 1.9.3",
"react-redux": "^ 6.0.0",
Qualquer ajuda seria muito apreciada.
O patch 2.25.3 mais recente parece ter corrigido isso, atualize a versão momentjs para: "moment": "^2.25.3"
em package.json
Remova a pasta node_modules e execute yarn install
ou npm install
para fazer isso.
Para aqueles que perderam um pouco de confiança no momento e não querem que seus aplicativos rompam completamente com esse problema que acontecerá novamente no futuro - mudei uma base de código de tamanho médio para luxon sem muitos problemas.
Obrigado pessoal ...
Mudei a versão para 24.0 e adicionei as "resoluções": {"moment": "2.24.0"} e executei npm install
Então pareceu funcionar de novo (trabalhando com o React, a propósito).
Felicidades!
O patch 2.25.3 mais recente parece ter corrigido isso, atualize a versão momentjs para:
"moment": "^2.25.3"
em package.json
Remova a pasta node_modules e executeyarn install
ounpm install
para fazer isso.
Obrigado @jasontll , funciona para mim
Nenhuma dessas soluções funcionou para mim hoje.
Tenho feito isso por horas no meu aplicativo de reação
com npm.1. I updated from moment 2.17 to 2.24 2. I added the resolutions as adviced above - `"devDependencies": {...},"resolutions": { "moment": "2.24.0" }` to package.json 3. Changed to yarn by doing the following. `rm -rf node_modules package-lock.json && yarn` Thanks a lot guys
também funcionou para vocês, muito obrigado :-)
Eu corro também neste problema. Eu consertei com a versão mais recente a partir de "moment": "^2.26.0"
Comentários muito úteis
@patricksteenks : sim. Corrija assim em seu package.json
"moment": "2.18.1"