Изменить: если вы установите свою зависимость на 2.18.1, все будет в порядке.
Изменить 2: установите "moment": "2.18.1"
в свой package.json
Изменить 3: Мы считаем, что это исправлено.
Привет.
Использование create-response-app. После обновления момента до 2.19.0 у меня появляется эта ошибка при загрузке:
Ошибка: не удается найти модуль "./locale"
-> 9 стековых фреймов были свернуты.
./src/utils/Utils.js
src / utils / Utils.js: 1
1 | импортный момент из "момент"
У меня то же самое, подтверждающее эту ошибку.
то же самое
Могу подтвердить:
This relative module was not found: * ./locale in ./node_modules/moment/src/lib/locale/locales.js
Хорошо, мы рассмотрим это, но это будет не очень быстро.
Мы изменили имя функции require, если кто-то может увидеть / исследовать, связана ли она с:
https://github.com/moment/moment/pull/4213
https://github.com/moment/moment/pull/4214
Здесь та же проблема. Решит ли проблему переход на более раннюю версию?
То же самое, сломало несколько приложений, над которыми я работаю.
@patricksteenks : да. Исправьте это в вашем package.json "moment": "2.18.1"
@ichernev эй, но я использую локаль без импорта. Просто используйте import moment from 'moment'
и используйте вот так moment(date).locale('uk').format('ddd')
. Как я понял, вы изменили импорт на locale
. Как я могу это исправить в моем случае?
Такая же проблема с проектом, созданным с помощью Angular-CLI
Подтвержденный.
Пострадали и сборки VueJS 2 Webpack. Временное исправление - это то, что предложил GautierT (понизить версию momentjs)
package.json (проблема с моментом-часовым поясом в момент 2.19)
"moment": "2.18.1",
"moment-timezone": "^0.5.13",
package.json (проблема в целом)
"moment": "2.18.1"
Я могу подтвердить, что это тоже происходит!
я могу подтвердить.
package.json
"moment": "2.18.1"
@renedx достаточно этой строчки
То же самое в приложении Angular 4.
Только что понижен до 2.18.1 (строгий номер версии в package.json)
Это тоже меня ударило. Я подозреваю, что это веб-пакет, который творит чудеса, распознавая динамическое «требование», и больше не может распознать его под новым именем, и поэтому локали никогда не включаются в пакет.
(Между прочим, вся эта ситуация ужасно похожа на то, для чего нужен динамический импорт ES6. Мы можем мечтать :-)
Я использую в веб-пакете с этой страницы
new IgnorePlugin(/^\.\/locale$/, /moment$/)
Теперь удалите это
И при необходимости
const moment = require('moment');
В настоящее время
const moment = require('moment').default;
Строго говоря, я думаю, что соединение Angular происходит просто потому, что большинство проектов Angular используют Angular-CLI, который внутренне использует Webpack. Но это может быть связано с какой-то конкретной конфигурацией Webpack в этом стеке.
Тем не менее, это кажется довольно общей проблемой комплектации.
Покайтесь, покайтесь, конец света уже наступил!
То же самое.
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
То же самое и здесь - я исправил это с помощью пряжи, чтобы перегрузить настройки пакета по умолчанию:
поместите это в свой основной package.json (адаптируйте "момент-часовой пояс" к имени пакета, который загружает момент, если вы не загружаете момент напрямую):
"resolutions": {
"moment-timezone/moment": "2.18.1"
},
как астероид длиной 10 км .... здесь так же ...
Какое расчетное время прибытия для исправления?
Хорошо, вот где мы находимся:
Подтвержденная ошибка при запуске приложения React, созданного с помощью интерфейса командной строки create-response-app.
Решил этот момент понижения и версию monent-timezone.
npm install [email protected]
в качестве временного исправления, чтобы вам не приходилось обновлять package.json
несколько раз. Это, вероятно, скоро будет исправлено, тогда вы можете сделать npm i
.
@aheissenberger это спасло мне жизнь, у меня была такая же проблема с rc-calendar, могу подтвердить, что это работает для пряжи 1.2.0.
Та же проблема webpack 3.6.0 + момент 2.19.0. Работал нормально с 2.18.1
У других может быть такая же проблема: хотя я не обновлялся до 2.19.0, в моем package.json у меня было ^2.18.1
. Я изменил его на 2.18.1
без ^
, и теперь он не будет устанавливать ничего выше, чем 2.18.1, пока мы не узнаем, что 2.19.x безопасен.
@ichernev кажется весьма вероятным, что переименование «require» является причиной этих широко распространенных поломок. Я подозреваю, что когда вам требуются модули, использующие такую ссылку, это означает, что webpack не может обнаружить импорт, поскольку он использует статический анализ AST для определения зависимостей.
Возможно, вы могли бы предоставить некоторые сведения о проблеме React Native, которую он исправлял, поскольку может быть лучший способ обойти эту исходную проблему?
В нашем проекте мы используем yarn 1.0.2
, create-react-app
, и эти зависимости в 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"
}
Хотя мы используем "moment": "2.18.1"
, мы все равно получаем
Есть ли способ решения проблемы с пряжей?
@ggsjyoon : У меня была аналогичная ситуация (ошибка все еще появляется), пока я не вспомнил, что вам нужно обновить один из файлов, которые наблюдает WebPack, чтобы он восстановился и удалил любую кешированную версию.
+1
@ggsjyoon может быть дополнительное требование от одного из ваших пакетов (например, момент-часовой пояс) - вы можете использовать мой совет https://github.com/moment/moment/issues/4216#issuecomment -335489518, чтобы исправить это с помощью пряжи
Я закончил это, изменив:
import * as moment from 'moment';
к:
import * as moment from 'moment/moment';
+1
@morrisonbrett Это работает. Спасибо
Подтверждение предложения @GautierT работает для меня.
@maggiepint Видя, что сработало для @morrisonbrett , я думаю, что # 4213 может не быть проблемой. 2.19 внесло еще одно новое изменение, поле модуля в package.json - т.е. ранее webpack использовал транспилированную версию.
Включение ES6 для нативной реакции - это то, что вызвало большинство проблем с блокировкой # 4187, а # 3904 (в ветке разработки только на некоторое время) внесло то же изменение для всех пользователей webpack.
@tqc - наверное и то, и другое. @thelarkinn уже подтвердил, что webpack не хочет динамических требований.
Та же проблема, есть обновления?
@maggiepint Да, сразу после того, как я написал этот комментарий, я понял, что ошибка в конце module.exports = require(‘moment’).default
, но я не уверен, что это по-прежнему разрешает дрожание дерева, а гармония узла не любит смешивать импорт с требованием.
решается с помощью псевдонима webpack:
resolve: {
alias: {
'moment$': 'moment/moment',
},
},
Может ли кто-нибудь выяснить все детали из 2.19, которые сломали webpack, предложить минимальный PR (основанный на 2.19.0), который отменяет «плохие» части, и мы рассмотрим его объединение для 2.19.1.
Сказать «я тоже» в течение 1000 раз мало что изменит.
Решение @morrisonbrett работает import * as moment from 'moment/moment';
Я могу подтвердить эту же проблему с помощью Angular-CLI v1.4.4. Сначала я был удивлен, когда увидел ошибку, связанную с momentjs, поскольку мой проект не использует ее, но после исследования я проследил ее внедрение до WebPack.
Вот мое предупреждающее сообщение при сборке:
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
Я также пробовал метод import * as moment from 'moment/moment';
но мне не повезло.
Привет, @kud , @AleshaOleg - если вы все еще пытаетесь импортировать локали:
вместо:
import 'moment/locale/*
пытаться:
import 'moment/src/locale/*'
Здесь боролись с той же проблемой ...
–––
@AleshaOleg : в вашем случае, я думаю, это может быть:
import moment from 'moment'
import 'moment/src/locale/uk'
а затем просто позвоните moment(date).format('ddd')
Спасибо @dialnco !
В итоге я столкнулся с этой проблемой при обновлении до 2.19.0
, полностью отключив код, который пытается загрузить локали.
({
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
}
}
})
Затем я вручную добавил import 'moment/src/locale/ja'
, import 'moment/src/locale/pt-br'
и другие по мере необходимости, вместо загрузки всех локалей. Если вы изобретательны, вы можете использовать динамические import()
s вместо того, чтобы загружать только тот язык, который нужен вашему приложению.
Если вы это сделаете, очень важно сделать не import 'moment/locale/foo'
, а import 'moment/src/locale/foo'
. Из-за того, как файлы локали пытаются ссылаться на саму moment
, они вместо этого объединят вторую копию moment
(на этот раз сборка UMD, а не сборка ESM), и это будет в повернуть, снова загрузить все локали.
Надеюсь, это кому-то поможет (варианты 1 и 2 из комментария выше, спасибо @patsissons ):
-Если у вас нет модулей, загружающих moment.js, но у вашего приложения есть, просто перейдите на старую версию
-Если у вас есть какие-либо модули, у которых также есть момент.js в зависимостях, приведенное выше вам не поможет, вам нужно изменить конфигурацию веб-пакета:
{...
разрешить: {
...
псевдоним: {
'момент $': 'момент / момент',
}
}
}
-Но если вы используете response-create-app (как я) и вам нужна рабочая сборка как можно скорее, единственный вариант для вас запустить 'npm eject', таким образом у вас будет доступ к конфигурации webpack и второй вариант будет доступен для вас.
Мне очень жаль, но здесь работал только метод @patsissons . https://github.com/moment/moment/issues/4216#issuecomment -335637520
Все еще
import moment from "moment"
import "moment/locale/fr"
moment.locale("fr")
но добавление в webpack
resolve: {
alias: {
'moment$': 'moment/moment',
}
},
По какой-то причине yarn проигнорировал мои настройки "разрешений" из package.json.
Хакерский способ исправить это, если вы используете моментный часовой пояс, - отредактировать 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"
Ждем fix 2.19.1 ....
Может ли кто-нибудь описать, в чем здесь настоящая проблема? Просто webpack не идентифицирует псевдоним require ()?
@TomMettam 2.19.0 указал webpack на код es6 в moment / src / moment, который не экспортирует тот же интерфейс, что и moment / moment.
Вдобавок к этому псевдоним require не позволяет webpack упаковывать все файлы, которые могут быть запрошены динамически. Импорт файлов локали вручную будет работать, за исключением того, что очевидный выбор импорта из момента / локали загрузит их в другой экземпляр момента, отличный от того, который вы фактически используете.
И если это все слишком просто, есть различия в поведении разных версий yarn / npm - я использую версию npm, которая использует любой экземпляр пакета, находящийся в папке node_modules корневого приложения, но другие версии делают сложнее изменить используемую упаковку.
Кто решил, что изменение сигнатуры экспорта в минорной версии - хорошая идея?
Обратите внимание, что это также нарушает работу сторонних библиотек, полагающихся на момент.
+1
Это неприемлемо для небольшого обновления.
Я понимаю идею, но, пожалуйста, будьте строже к semver.
@darkalor это не было преднамеренным - рассматриваемая экспортная подпись существенно отличается только в ограниченном наборе обстоятельств - вроде вещей, которые, кажется, работают нормально, пока не станут доступны большому количеству пользователей.
@darkalor @kud - Регрессии случаются. Пожалуйста, постарайтесь быть конструктивным; все понимают, что этого не должно было случиться, и разглагольствования никому не помогает.
@TomMettam Да, это случается, но когда это случается, вы можете справиться с этим, и, имея дело, я имею в виду, что вы можете обновить его как основное, а не второстепенное. Это все. Я никого не виню, я виню ситуацию, когда кто-то думает: «О, ладно, я могу обновить, так как это всего лишь мелочь», в данном случае это скорее неправильно. ;)
Я ценю всю проделанную работу на данный момент, но говорю только о нестабильной ситуации.
Я никого не оскорбляю, извините.
@kud не тогда, когда вам нужно выбрать номер версии, прежде чем вы узнаете, что существует регресс. Уровень сложности, необходимый для поддержки того количества сред, которое делает момент, впечатляет.
@tqc, но теперь ты это знаешь, вот в чем дело. Как ранее сказал @TomMettam , такое случается.
Возможно удаление и / или добавление тегов.
В любом случае я больше не буду здесь спамить, спасибо за обходной путь; Я добавил примечание для других людей, которые не следят за этой проблемой, в журнале изменений: https://gist.github.com/ichernev/5f3f4eb02761b4f765a0cccf02cec603#gistcomment -2226628
Хорошего дня. :)
Я использую пряжу в качестве диспетчера пакетов. По какой-то причине мой файл yarn.lock не обновлялся, чтобы отразить изменение, которое я внес в свой файл package.json. мои настройки, как сказал @daniesy . Проблема заключалась в том, что часовой пояс в моем файле yarn.lock все еще зависел от текущей версии '^ 2.18.1'.
Чтобы исправить это, я очистил кеш пряжи :
yarn cache clean
Потом :
yarn install
Надеюсь, это должно повторно сгенерировать ваш файл yarn.lock с чем-то вроде:
[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"
В любом случае, просто проверьте, что ur yarn lock не пытается включить версию момента выше 2.18.1 в какой-либо модуль, особенно в часовом поясе и моменте.
Думаю, у нас есть исправление: https://github.com/moment/moment/pull/4232
Лучшая часть - я думаю, что это будет работать как для веб-пакетов, так и для нативной реакции - без печали!
Я тестировал в webpack, но будет ли кто-нибудь использовать собственный тест реакции? Обратите внимание, что вам нужно будет запустить grunt release, чтобы собрать файлы, прежде чем вы сможете протестировать с помощью привязки npm.
@maggiepint - Есть ли возможность того, что это
2.19.1 уже нет, попробуйте
У меня работает с Webkit.
Спасибо @ichernev и всем участникам!
@ichernev : 2.19.1 у меня работает.
Реагировать 16.
создать-реагировать-приложение.
Не выброшен
Момент загружается так:
import moment from 'moment'
import 'moment/locale/fr'
Спасибо за исправление. 👍
Просто запустил еще одну сборку VSTS с использованием angular-cli / webpack и повторно развернул в среде.
Все в норме
Спасибо
Я тоже могу подтвердить, что эта проблема решена для Angular-CLI v1.4.4. Спасибо!
работает с typescript / webpack / karma / phantomjs. Спасибо за исправление!
Чтобы заставить его работать, я просто включил файл локали до момента.
import 'moment/locale/de';
import moment from 'moment';
а позже сделал
moment.locale("de");
кажется, все еще существует в "версии": "2.22.2"?
Я тоже использую 2.22.2. проблема все еще существует
Я использую 2.22.2 и вижу ту же проблему.
Как указано выше. Та же проблема, та же версия.
Используем response native и видим эту ошибку для сборки выпуска:
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 работает
не работает у меня все еще
Я тоже не могу заставить 2.18.1 работать на меня
2.22.1 ftw lol
Также заметил регресс в v2.22.2. Откат на 2.22.1 исправил эту проблему.
Всем привет,
Была такая же проблема (с использованием Webpack в Laravel). Это не идеально, но быстрое исправление, которое сработало для меня, - это копирование папки "locale" репозитория вместе с файлом moment.js или moment-with-locale.js.
Также сталкиваюсь с этим на v2.22.2
.
Чтобы заставить его работать, я просто включил файл локали до момента.
import 'moment/locale/de'; import moment from 'moment';
а позже сделал
moment.locale("de");
@ mj1856, уместно ли повторно открывать этот выпуск или нужно создать новый / новый? Я тоже это вижу снова. Откат 2.22.1 не исправить в моем случае , и я должен был использовать @patsissons исправить , чтобы сделать WebPack счастливым.
такой же
Я использовал allowSyntheticDefaultImports, как описано в документе здесь: https://momentjs.com/docs/#/use -it / typescript /, и он решил для меня ошибку Cannot find module "./locale"
. Обратите внимание, что // @ts-ignore
над импортом также требовалось в моей IDE.
тот же вопрос , moment:'2.18.1'
Это все еще рекомендуется: import moment from "moment/min/moment-with-locales";
?
b / c Я получаю ту же (?) ошибку с [email protected]
и CRA:
./node_modules/moment/min/moment-with-locales.js
Module not found: Can't resolve './locale' in '/...myproject/node_modules/moment/min'
Для всех этих прохожих в Интернете вот способ исправить это, если вы строите с накоплением:
Предполагая, что вы используете 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
имеет запись package.json
для jsnext:main
которую мы можем здесь использовать. чтобы включить локали для нас в процессе сборки. Размер вашего пакета увеличится, но это предотвратит ошибки консоли 😅
У меня такая же проблема с моментом версии 2.24.0 в моем приложении React. Думаю, этот вопрос еще не решен.
У меня такая же проблема с моментом версии 2.24.0 в моем приложении React. Думаю, этот вопрос еще не решен.
Подтверждаю. «момент»: «2.24.0». 2.18.1 не решает проблему. Узел v12.16.0
То же самое здесь, с 2.24.0
для моего проекта Preact.
Все еще сталкиваюсь с этой проблемой, пожалуйста, помогите !!
Для меня сломано: "moment": "^ 2.24.0" (разрешение до 2.25.0)
Не нарушено: "момент": "2.24.0"
если вы используете пряжу, добавьте блок разрешений, чтобы переопределить версии подчиненной зависимости:
"resolutions": {
"moment": "2.24.0"
}
Используйте "moment": "2.24.0"
и, как предлагает @rilyu , используйте разрешение. Работал у меня.
Возврат к «2.24.0» и удаление «^» сработали для меня. Похоже, их последняя версия была выпущена вчера вечером и теперь ее сбрасывают.
Возникла проблема с "moment": "^2.24.0",
.
Uncaught Error: Cannot find module './locale'
at
Та же проблема. Решено с помощью решения
Та же проблема. Решено с помощью решения
Решена проблема с решением @enewhuis и @rilyu. Спасибо.
Та же проблема. @enewhuis спасает
Для меня сломано: "moment": "^ 2.24.0" (разрешение до 2.25.0)
Не нарушено: "момент": "2.24.0"
Спасибо, чувак, я весь день борюсь с этим
Та же ошибка и то же исправление здесь. Я использовал моментальный часовой пояс.
До:
"moment-timezone": "^0.5.28",
После:
"moment": "2.24.0",
"moment-timezone": "^0.5.28",
Та же ошибка и то же исправление здесь. Я использовал моментальный часовой пояс.
До:
"moment-timezone": "^0.5.28",
После:
"moment": "2.24.0", "moment-timezone": "^0.5.28",
Не работает у меня с -
"moment": "2.24.0",
"moment-timezone": "0.5.28",
Вышеупомянутое исправление не работает для меня. Узел v12.6.0, пряжа v1.22.4, react-scripts-ts
Работали для нас с
"resolutions": {
"moment": "2.24.0"
},
и
"moment": "2.24.0",
"moment-timezone": "0.5.28",
используя пряжу
Без блока разрешений не работало.
Да, я могу подтвердить, что добавление блока resolutions
сработало для меня. Я понятия не имею, почему ...
Спасибо @mtogstad !
Решение @mtogstad работает!
Я не понимаю, как эта ошибка может случайно появиться и разрушить мое приложение для реагирования
@bodyfarmer, не могли бы вы записать шаги, как решить эту проблему?
У меня такая же проблема с приложением React.
@hasanmehmood В моем случае этого было достаточно, чтобы понизить
npm install [email protected]
Надеюсь, это сработает и для вас.
Привет ребята!
Я столкнулся с той же проблемой в последние несколько часов, и, наконец, я решил ее, изменив версию момента.
В приведенных выше комментариях я увидел окончательное решение.
Причина:
_moment выпустил новую версию 17 часов назад с 2.24.0 на 2.25.0_
Решение:
Шаг 1: измените версии
Шаг 2: Если вы используете пряжу, добавьте разрешения в файл package.json следующим образом
"dependencies" {
"момент": "2.24.0",
"момент-часовой пояс": "^ 0.5.28"
},
"разрешения": {
"момент": "2.24.0"
},
Спасибо.
Спасибо, @jolalla , я сначала попробовал понизить версию, но у меня это не сработало. Наконец, добавление блока разрешений показало некоторую магию :)
Для других, кто сталкивается с аналогичной проблемой со своим приложением для реагирования. Они могут сделать следующие 2 шага, чтобы решить эту проблему.
В зависимостях замените
"moment": "^2.24.0",
с участием
"moment": "2.24.0",
И добавьте блок разрешений в package.json
"resolutions": {
"moment": "2.24.0"
}
Почему этот вопрос закрыт!?! ??!?
Хорошее время, чтобы переключиться на luxon, что я и сделал для одного проекта, который мало использовал момент.
Имея такую же проблему
"разрешения": {
"момент": "2.24.0"
}
решить мою проблему.
Спасибо.
Что еще я могу попробовать? "moment": "2.24.0"
и
"resolutions": {
"moment": "2.24.0"
}
не исправляют это для меня. Это для развертывания Heroku. Любые идеи приветствуются.
Если случайно у кого-то еще есть монорепозиторий (и / или он использует рабочие области в package.json), исправление «разрешений» для использования предыдущего выпуска 2.24.0 будет работать только в том случае, если оно применяется в файле package.json корневого уровня. В нашем случае нам пришлось сделать следующее:
{«Разрешения»: {«** / момент»: «2.24.0»}}.
По-настоящему надеюсь, что релиз 2.25 будет исправлен как можно скорее!
если вы используете пряжу, добавьте блок разрешений, чтобы переопределить версии подчиненной зависимости:
"resolutions": { "moment": "2.24.0" }
Я занимаюсь этим уже час. удаление ^
помогает.
Для людей, использующих приложение create-response-app и не желающих извлекать CRA, вы можете установить:
Затем создайте config-overrides.js
в корневом каталоге вашего проекта для дальнейшего переопределения.
module.exports = function override(config, env) {
// do stuff with the webpack config...
return config;
};
Отредактируйте свой package.json:
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test",
Поскольку я использую дизайн муравьев, мой config-overrides.js
выглядит так:
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",
})
);
А вот у вас будет попроще, думаю примерно так:
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;
};
Спасибо, @jolalla , я сначала попробовал понизить версию, но у меня это не сработало. Наконец, добавление блока разрешений показало некоторую магию :)
Для других, кто сталкивается с аналогичной проблемой со своим приложением для реагирования. Они могут сделать следующие 2 шага, чтобы решить эту проблему.
В зависимостях замените
"moment": "^2.24.0",
с участием
"moment": "2.24.0",
И добавьте блок разрешений в package.json
"resolutions": { "moment": "2.24.0" }
Работает на меня. Спасибо
@hasanmehmood, у меня сработало, спасибо, чувак
Спасибо, @jolalla , я сначала попробовал понизить версию, но у меня это не сработало. Наконец, добавление блока разрешений показало некоторую магию :)
Для других, кто сталкивается с аналогичной проблемой со своим приложением для реагирования. Они могут сделать следующие 2 шага, чтобы решить эту проблему.
В зависимостях замените
"moment": "^2.24.0",
с участием
"moment": "2.24.0",
И добавьте блок разрешений в package.json
"resolutions": { "moment": "2.24.0" }
У меня тоже работает! Спасибо!! : D
Делал это часами в моем приложении angular 8 с npm.
"devDependencies": {...},"resolutions": {
"moment": "2.24.0"
}
в package.jsonrm -rf node_modules package-lock.json && yarn
Я очень в отчаянии ... Я использую момент 2.25.1 и меняю "devDependencies": {...}, "resolution": {"moment": "2.25.1"}, как указано выше ... не работающий
я использую npm. Я новичок в React, где devDependencies?
я изменил это, но он все еще не работает
Я использую версию "2.25.1" и все еще происходит!
@ m4mariaoni - это потому, что вы установили без --save-dev
, поэтому вы меняете правую часть.
Если вы все еще сталкиваетесь с этой проблемой после блокировки момента до 2.24.0, удалите папку момента из node_modules и переустановите свои пакеты с помощью npm install --save
Спасибо, @jolalla , я сначала попробовал понизить версию, но у меня это не сработало. Наконец, добавление блока разрешений показало некоторую магию :)
Для других, кто сталкивается с аналогичной проблемой со своим приложением для реагирования. Они могут сделать следующие 2 шага, чтобы решить эту проблему.
В зависимостях замените
"момент": "^ 2.24.0",
с участием
"момент": "2.24.0",
И добавьте блок разрешений в package.json
"разрешения": {
"момент": "2.24.0"
}
У меня тоже работает! Спасибо!! : D! думает!
Спасибо, @jolalla , я сначала попробовал понизить версию, но у меня это не сработало. Наконец, добавление блока разрешений показало некоторую магию :)
Для других, кто сталкивается с аналогичной проблемой со своим приложением для реагирования. Они могут сделать следующие 2 шага, чтобы решить эту проблему.
В зависимостях замените
"moment": "^2.24.0",
с участием
"moment": "2.24.0",
И добавьте блок разрешений в package.json
"resolutions": { "moment": "2.24.0" }
Замена
"moment": "^2.24.0",
с участием
"moment": "2.24.0",
работает на меня! Обычно,
rm -rf package-lock.json && node_modules
Несмотря на все вышеперечисленные меры, все равно не работает ...
Это расстраивает
Ранее созданные репозитории использовались в момент 2.24.0 с React, и он все еще работает, но установите момент 2.24.0 сейчас, не работает .... (я тоже пробовал все вышеперечисленные меры)
В чем причина?
Я полагаю, у вас может быть ^ 2.24.0 вместо 2.24.0 где-то в пакете. Json @ wlsdud2194?
Я этого не делаю, и ошибка продолжает появляться. Это странно
Текущая версия - 2.24.0
в package.json вместо ^2.24.0
, поскольку я ее установил.
Я выполнил этот процесс, одна из вышеперечисленных мер
- добавить блок разрешений
- удалите каталог
node_modules
и переустановите пакет из пряжи.
у меня работает, но не знаю почему работает ... 😂
Спасибо за проявленный интерес
Пришлось перейти на более раннюю версию с ^2.25.1
до 2.24.0
чтобы решить эту проблему.
Я этого не делаю, и ошибка продолжает появляться. Это странно
Попробуйте запустить npm ls moment
чтобы узнать, использует ли еще какой-либо другой модуль момент.
И добавьте блок разрешений в package.json
"разрешения": {"момент": "2.24.0"}
удалите каталог node_modules и переустановите пакет из пряжи.
rm -rf пакет-lock.json && node_modules
Контакт: г-н Лю Тел .: 18908205973
Факс: 028-86676917
Эл. Почта: [email protected]
Название компании: Chengdu Shouzhi Technology Co., Ltd. Веб-сайт компании: www.szdma.com
Адрес: Здание Иньхай, № 162, Восточная дорога Биньцзян, Чэнду.
Chengdu Shouzhi Technology Co., Ltd. была основана в 2010 году. Это профессиональная компания по разработке программного обеспечения для малых и средних предприятий в Чэнду. Компания в основном обслуживает малые и средние предприятия. Она обеспечивает строительство локальной сети, веб-сайт. строительство, решения для настройки программного обеспечения и т. д., а также предоставляет ручные услуги. Полный набор услуг для компьютерного бизнеса. Компания придерживается принципа «честность, ориентированность на услуги», чтобы подчеркнуть имидж компании; прилагая неустанные усилия, мы предоставляем клиентам высококачественные услуги.
Мы получаем ошибку Webpack Error: Cannot find module "./locale"
. В нашем проекте мы используем пакет «react-redux-i18n», который зависит от «react-i18nify» и, в свою очередь, зависит от «moment». Внутренне «момент» настроен на использование последней версии, которая вызывает эту ошибку.
В зависимостях
"реагировать": "^ 16.8.1",
"момент": "2.24.0",
"момент-часовой пояс": "^ 0.5.28",
"свойства-момента-реакции": "^ 1.5.0",
"react-redux-i18n": "^ 1.9.3",
"react-redux": "^ 6.0.0",
Любая помощь будет принята с благодарностью.
Последний патч 2.25.3, похоже, исправил это, обновите версию momentjs до: "moment": "^2.25.3"
в package.json
Удалите папку node_modules и запустите yarn install
или npm install
должны это сделать.
Для тех, кто потерял некоторую уверенность в моменте и не хочет, чтобы их приложения полностью отказались от этой проблемы, которая повторится снова в будущем - я без особых проблем переключил кодовую базу среднего размера на luxon.
Спасибо, народ ...
Я изменил версию на 24.0, добавил "разрешения": {"момент": "2.24.0"} и запустил npm install
Потом вроде снова заработало (кстати, работая с React).
Ваше здоровье!
Последний патч 2.25.3, похоже, исправил это, обновите версию momentjs до:
"moment": "^2.25.3"
в package.json
Удалите папку node_modules и запуститеyarn install
илиnpm install
должны это сделать.
Спасибо @jasontll , у меня работает
Сегодня у меня ни одно из этих решений не помогло.
Делал это часами в моем приложении для реагирования
с 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
это тоже сработало для парней, спасибо большое :-)
Я тоже попадаю в эту беду. Я исправил это последней версией от "moment": "^2.26.0"
Самый полезный комментарий
@patricksteenks : да. Исправьте это в вашем package.json
"moment": "2.18.1"