Sunting: Jika Anda mengatur ketergantungan Anda ke 2.18.1, semuanya akan baik-baik saja.
Sunting 2 : Setel "moment": "2.18.1"
di package.json . Anda
Sunting 3: Kami yakin ini sudah diperbaiki.
Halo.
Menggunakan create-react-app. Setelah memperbarui momen ke 2.19.0 saya memiliki kesalahan ini saat memuat:
Kesalahan: Tidak dapat menemukan modul "./locale"
-> 9 bingkai tumpukan diciutkan.
./src/utils/Utils.js
src/utils/Utils.js:1
1 | impor momen dari 'momen'
Saya memiliki hal yang sama, mengkonfirmasi kesalahan ini.
sama disini
Dapat mengkonfirmasi:
This relative module was not found: * ./locale in ./node_modules/moment/src/lib/locale/locales.js
Oke, kita akan melihat ini, tapi itu tidak akan terlalu cepat.
Kami mengubah nama fungsi yang diperlukan, jika seseorang dapat melihat/menyelidiki apakah itu terkait dengan:
https://github.com/moment/moment/pull/4213
https://github.com/moment/moment/pull/4214
Masalah yang sama disini. Apakah penurunan versi akan memperbaiki masalah?
Sama di sini, merusak beberapa aplikasi yang saya kerjakan.
@patricksteenks : iya. Perbaiki seperti ini di package.json Anda "moment": "2.18.1"
@ichernev hei, tapi saya menggunakan lokal tanpa mengimpor. Cukup gunakan import moment from 'moment'
dan gunakan seperti ini moment(date).locale('uk').format('ddd')
. Seperti yang saya pahami, Anda mengubah import menjadi locale
. Bagaimana saya bisa memperbaikinya dalam kasus saya?
Masalah yang sama pada proyek yang dibangun Angular-CLI
Dikonfirmasi.
VueJS 2 Webpack build juga terpengaruh. Perbaikan sementara seperti yang disarankan GautierT (downgrade momentjs)
package.json (masalah dengan kedalaman zona waktu momen pada momen 2.19)
"moment": "2.18.1",
"moment-timezone": "^0.5.13",
package.json (masalah secara umum)
"moment": "2.18.1"
Saya dapat mengkonfirmasi ini juga terjadi!
saya bisa konfirmasi.
package.json
"moment": "2.18.1"
@renedx cukup baris ini
Sama dalam aplikasi Angular 4.
Baru saja diturunkan ke 2.18.1 (nomor versi ketat di package.json)
Terkena ini juga. Saya menduga itu adalah webpack yang melakukan keajaiban untuk mengenali "persyaratan" dinamis, dan tidak dapat lagi mengenalinya dengan nama baru, dan dengan demikian lokal tidak pernah dibundel ke dalam paket.
(Kebetulan, seluruh situasi ini terdengar sangat mirip dengan apa yang dimaksud dengan impor dinamis ES6. Kita bisa bermimpi :-)
Saya menggunakan webpack dari halaman ini
new IgnorePlugin(/^\.\/locale$/, /moment$/)
Sekarang hapus
Dan di butuhkan
const moment = require('moment');
Sekarang
const moment = require('moment').default;
Sebenarnya, saya pikir koneksi Angular hanya karena sebagian besar proyek Angular menggunakan Angular-CLI, yang secara internal menggunakan Webpack. Tapi itu mungkin terkait dengan beberapa konfigurasi Webpack tertentu di tumpukan itu.
Tampaknya menjadi masalah bundling yang cukup umum, meskipun.
Bertobatlah, bertobatlah, hari kiamat telah tiba!
Sama disini.
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
Sama di sini - saya memperbaikinya dengan fitur benang untuk membebani pengaturan default sebuah paket:
letakkan ini di package.json utama Anda (sesuaikan "moment-timezone" dengan nama paket yang memuat momen jika Anda tidak langsung memuat momen):
"resolutions": {
"moment-timezone/moment": "2.18.1"
},
seperti asteroid 10km .... sama di sini ...
Apa ETA untuk memperbaikinya?
Oke, di sinilah kita berada:
Kesalahan yang dikonfirmasi saat menjalankan aplikasi reaksi yang dibuat dengan CLI create-react-app.
Selesaikan momen penurunan versi ini dan versi zona waktu-monent.
npm install [email protected]
sebagai perbaikan sementara sehingga Anda tidak perlu berurusan dengan memperbarui package.json
beberapa kali. Ini mungkin akan segera diperbaiki, maka Anda dapat melakukannya npm i
.
@aheissenberger ini menyelamatkan hidup saya, saya memiliki masalah yang sama dengan rc-calendar, dapat mengonfirmasi Ini berfungsi untuk yarn 1.2.0.
Masalah yang sama webpack 3.6.0 + momen 2.19.0. Bekerja dengan baik dengan 2.18.1
Orang lain mungkin memiliki masalah yang sama: Meskipun saya tidak memperbarui ke 2.19.0, di package.json saya memiliki ^2.18.1
. Saya mengubahnya menjadi 2.18.1
tanpa ^
, dan sekarang tidak akan menginstal apa pun yang lebih tinggi dari 2.18.1 sampai kami tahu 2.19.x aman
@ichernev tampaknya sangat mungkin bahwa
Mungkin Anda bisa memberikan beberapa detail tentang masalah React Native yang sedang diperbaiki karena mungkin ada cara yang lebih baik untuk mengatasi masalah asli itu?
Dalam proyek kami, kami menggunakan yarn 1.0.2
, create-react-app
, dan deps ini di 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"
}
Meskipun kami menggunakan "moment": "2.18.1"
, kami masih mendapatkan
Apakah ada solusi untuk masalah benang?
@ggsjyoon : Saya memiliki situasi yang sama (masih mendapatkan kesalahan) sampai saya ingat Anda harus memperbarui salah satu file yang sedang ditonton WebPack untuk membuatnya dibuat ulang dan menghapus semua versi yang di-cache.
+1
@ggsjyoon mungkin ada persyaratan tambahan dari salah satu paket Anda (misalnya zona waktu-saat) - Anda dapat menggunakan tip saya https://github.com/moment/moment/issues/4216#issuecomment -335489518 untuk memperbaikinya dengan benang
Saya akhirnya melewati ini dengan mengubah:
import * as moment from 'moment';
ke:
import * as moment from 'moment/moment';
+1
@morrisonbrett Ini berfungsi. Terima kasih
Mengonfirmasi saran @GautierT berfungsi untuk saya.
@maggiepint Melihat apa yang berhasil untuk @morrisonbrett , saya berpikir bahwa #4213 mungkin bukan masalahnya. 2.19 memperkenalkan perubahan baru lainnya, bidang modul di package.json - yaitu sebelumnya webpack menggunakan versi transpil.
Mengaktifkan ES6 untuk reaksi asli adalah penyebab sebagian besar masalah memblokir #4187, dan #3904 (pada cabang pengembangan hanya untuk beberapa waktu) membuat perubahan yang sama untuk semua pengguna webpack.
@tqc - mungkin keduanya. @thelarkinn sudah mengonfirmasi bahwa webpack tidak akan menyukai kebutuhan dinamis.
Masalah yang sama di sini, ada pembaruan?
@maggiepint Ya, saya menyadari tepat setelah saya menulis komentar itu bahwa bug di akhir utas tidak persis sama di awal. Sisi ES6 mungkin dapat diperbaiki dengan sesuatu seperti module.exports = require(‘moment’).default
, tapi saya tidak yakin apakah itu masih memungkinkan goyangan pohon, dan harmoni simpul tidak suka mencampur impor dengan kebutuhan.
diselesaikan melalui aliasing webpack:
resolve: {
alias: {
'moment$': 'moment/moment',
},
},
Dapatkah seseorang mengetahui semua bit dari 2.19 yang merusak webpack, mengusulkan PR minimal (berdasarkan 2.19.0), yang mengembalikan bagian "buruk", dan kami akan mempertimbangkan untuk menggabungkannya untuk 2.19.1.
Mengatakan "saya juga" untuk 1000 kali tidak membawa banyak ke meja.
Solusi @morrisonbrett berfungsi import * as moment from 'moment/moment';
Saya dapat mengkonfirmasi masalah yang sama dengan Angular-CLI v1.4.4. Saya awalnya terkejut ketika saya melihat kesalahan yang melibatkan momentjs karena proyek saya tidak menggunakannya tetapi setelah menyelidiki saya melacak injeksinya kembali ke WebPack.
Inilah pesan peringatan saya ketika saya membangun:
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
Saya juga telah mencoba metode import * as moment from 'moment/moment';
tetapi tidak berhasil untuk kasus saya.
Hai @kud , @AleshaOleg – jika Anda masih mencoba mengimpor lokal:
dari pada:
import 'moment/locale/*
mencoba:
import 'moment/src/locale/*'
Telah berjuang dengan masalah yang sama di sini ...
–––
@AleshaOleg : dalam kasus penggunaan Anda, saya pikir itu bisa:
import moment from 'moment'
import 'moment/src/locale/uk'
lalu panggil saja moment(date).format('ddd')
Terima kasih @dialnco !
Saya akhirnya berurusan dengan masalah ini, ketika memperbarui ke 2.19.0
, dengan sepenuhnya menonaktifkan kode yang mencoba memuat lokal.
({
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
}
}
})
Saya kemudian secara manual menambahkan import 'moment/src/locale/ja'
, import 'moment/src/locale/pt-br'
, dkk sesuai kebutuhan aplikasi saya, alih-alih memuat semua lokal. Jika Anda kreatif, Anda dapat menggunakan dinamis import()
s alih-alih hanya memuat bahasa yang dibutuhkan aplikasi Anda.
Sangat penting bahwa, jika Anda melakukan ini, Anda tidak melakukan import 'moment/locale/foo'
, tetapi import 'moment/src/locale/foo'
. Karena bagaimana file lokal mencoba merujuk ke moment
itu sendiri, mereka akan menggabungkan salinan kedua dari moment
(kali ini build UMD sebagai lawan dari build ESM) dan itu akan, di putar, muat semua lokal lagi.
Saya harap ini membantu seseorang (opsi 1 dan 2 dari komentar di atas, terima kasih kepada @patsissons ):
-Jika Anda tidak memiliki modul yang memuat moment.js, tetapi aplikasi Anda memilikinya, pindah saja ke versi yang lebih lama
-Jika Anda memiliki modul yang juga memiliki dependensi moment.js, hal di atas tidak akan membantu Anda, Anda harus memodifikasi konfigurasi webpack Anda:
{...
menyelesaikan: {
...
alias: {
'momen$': 'momen/momen',
}
}
}
-Tetapi jika Anda menggunakan react-create-app (seperti yang saya lakukan) dan Anda harus segera membangunnya, satu-satunya pilihan bagi Anda untuk menjalankan 'npm eject', dengan cara ini Anda akan memiliki akses ke konfigurasi webpack dan kedua pilihan akan tersedia untuk Anda.
Jadi saya minta maaf, tetapi satu-satunya metode yang berfungsi di sini adalah metode @patsissons . https://github.com/moment/moment/issues/4216#issuecomment -335637520
Tetap
import moment from "moment"
import "moment/locale/fr"
moment.locale("fr")
tetapi menambahkan di webpack
resolve: {
alias: {
'moment$': 'moment/moment',
}
},
Untuk beberapa alasan, benang mengabaikan pengaturan "resolusi" saya dari package.json.
Cara hacky untuk memperbaikinya, jika Anda menggunakan zona waktu-saat adalah dengan mengedit 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"
Kita tunggu fix 2.19.1....
Bisakah seseorang menjelaskan apa masalah sebenarnya di sini? Apakah hanya karena webpack tidak mengidentifikasi alias require() ?
@TomMettam 2.19.0 mengarahkan webpack ke kode es6 di moment/src/moment, yang tidak mengekspor antarmuka yang sama seperti moment/moment.
Selain itu, persyaratan alias mencegah webpack mengemas semua file yang mungkin diminta secara dinamis. Mengimpor file lokal secara manual akan berhasil, kecuali bahwa pilihan yang jelas untuk mengimpor dari momen/lokal akan memuatnya ke dalam instans momen yang berbeda dengan yang sebenarnya Anda gunakan.
Dan jika itu terlalu sederhana, ada perbedaan dalam perilaku berbagai versi yarn/npm - saya kebetulan menggunakan versi npm yang menggunakan instance paket apa pun yang ada di folder node_modules aplikasi root, tetapi versi lain membuat lebih sulit untuk mengganti paket yang digunakan.
Siapa yang memutuskan bahwa mengubah tanda tangan ekspor dalam versi minor adalah ide yang bagus?
Perhatikan bahwa ini juga merusak perpustakaan pihak ke-3 yang mengandalkan momen
+1
Ini tidak dapat diterima untuk peningkatan kecil.
Saya mengerti ide di baliknya tapi tolong, lebih ketat tentang semver.
@darkalor itu tidak disengaja - tanda tangan ekspor yang dimaksud hanya berbeda secara material dalam keadaan terbatas - hal yang tampaknya berfungsi dengan baik sampai diekspos ke sejumlah besar pengguna.
@darkalor @kud - Regresi terjadi. Silakan mencoba untuk menjadi konstruktif; semua orang sadar bahwa ini seharusnya tidak terjadi dan mengomel tidak membantu siapa pun.
@TomMettam Ya itu terjadi tetapi ketika itu terjadi Anda dapat menghadapinya dan dengan berurusan maksud saya Anda dapat memutakhirkannya sebagai mayor, bukan minor. Itu saja. Saya tidak menyalahkan siapa pun, saya menyalahkan situasi bahwa jika seseorang berpikir "oh ok saya bisa mengupgrade, karena hanya di bawah umur", agak salah dalam hal ini. ;)
Saya menghargai semua pekerjaan yang dilakukan pada saat ini, tetapi saya hanya berbicara tentang situasi yang tidak stabil.
Saya tidak menyinggung siapa pun, maaf.
@kud tidak ketika Anda harus memilih nomor versi sebelum Anda tahu ada regresi. Tingkat kerumitan yang dibutuhkan untuk mendukung banyaknya lingkungan yang dilakukan saat ini merupakan sesuatu yang cukup mengesankan.
@tqc tapi sekarang Anda tahu itu, itu masalahnya. Seperti yang dikatakan sebelumnya oleh @TomMettam , itu terjadi.
Menghapus atau/dan menambahkan tag dimungkinkan.
Pokoknya saya tidak akan spam lagi di sini, terima kasih atas solusinya; Saya menambahkan catatan untuk orang lain yang tidak mengikuti masalah ini, di changelog: https://Gist.github.com/ichernev/5f3f4eb02761b4f765a0cccf02cec603#gistcomment -2226628
Semoga harimu menyenangkan. :)
Saya menggunakan benang sebagai manajer paket saya. Untuk beberapa alasan, file yarn.lock saya tidak diperbarui untuk mencerminkan perubahan yang saya buat di file package.json saya. pengaturan saya seperti yang dikatakan @daniesy . Masalahnya adalah zona waktu-saat di file yarn.lock saya masih tergantung pada versi momen '^2.18.1'.
Untuk memperbaikinya, saya menjalankan cache yarn cache :
yarn cache clean
Kemudian :
yarn install
Mudah-mudahan, ini akan menghasilkan kembali file yarn.lock Anda dengan sesuatu di sepanjang baris:
[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"
Either way, hanya, periksa kunci benang Anda tidak mencoba memasukkan versi momen yang lebih besar dari 2.18.1 dalam modul apa pun terutama zona waktu-momen dan momen.
Saya pikir kami memiliki perbaikan: https://github.com/moment/moment/pull/4232
Bagian terbaik - Saya pikir ini akan berfungsi untuk paket web dan bereaksi asli - tidak ada kesedihan!
Saya sudah menguji di webpack, tetapi apakah seseorang akan menggunakan tes asli reaksi? Perhatikan bahwa Anda perlu menjalankan grunt release untuk mendapatkan file yang dibuat sebelum Anda dapat menguji menggunakan tautan npm.
@maggiepint -
2.19.1 sudah keluar, cobalah
Bekerja untuk saya dengan Webkit.
Terima kasih @ichernev dan semua orang yang terlibat!
@ichernev : 2.19.1 bekerja untuk saya.
Bereaksi 16.
buat-reaksi-aplikasi.
Tidak dikeluarkan
Momen dimuat seperti ini:
import moment from 'moment'
import 'moment/locale/fr'
Terima kasih untuk perbaikannya. 👍
Baru saja memecat build VSTS lain menggunakan angular-cli/webpack dan diterapkan kembali ke lingkungan
Semuanya kembali normal
Terima kasih
Saya juga dapat mengonfirmasi bahwa masalah ini telah diselesaikan untuk Angular-CLI v1.4.4. Terima kasih!
bekerja dengan TypeScript/webpack/karma/phantomjs. Terima kasih untuk perbaikannya!
Untuk membuatnya berfungsi, saya hanya menyertakan file lokal sebelum momen.
import 'moment/locale/de';
import moment from 'moment';
dan kemudian melakukannya
moment.locale("de");
sepertinya masih ada di "versi": "2.22.2"?
Saya juga menggunakan 2.22.2. masalahnya masih ada
Saya menggunakan 2.22.2 dan melihat masalah yang sama.
Seperti di atas. Masalah yang sama, versi yang sama.
Menggunakan reaksi asli dan melihat kesalahan ini untuk versi rilis:
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 bekerja
masih tidak bekerja untuk saya
saya juga tidak bisa mendapatkan 2.18.1 untuk bekerja untuk saya
2.22.1 kaki lol
Juga melihat regresi di v2.22.2. Mengembalikan ke 2.22.1 memperbaikinya untuk saya.
Halo semuanya,
Punya masalah yang sama (menggunakan Webpack di Laravel). Ini tidak ideal, tetapi perbaikan cepat yang berhasil bagi saya adalah menyalin folder "locale" dari repositori di samping file moment.js atau moment-with-locale.js.
Juga mengalami ini pada v2.22.2
.
Untuk membuatnya berfungsi, saya hanya menyertakan file lokal sebelum momen.
import 'moment/locale/de'; import moment from 'moment';
dan kemudian melakukannya
moment.locale("de");
@mj1856 apakah pantas untuk membuka kembali masalah ini atau haruskah kita membuat yang baru/baru? Saya juga melihat ini lagi. Mengembalikan ke 2.22.1 tidak memperbaikinya dalam kasus saya dan saya harus menggunakan perbaikan @patsissons untuk membuat webpack bahagia lagi.
sama
Saya menggunakan allowSyntheticDefaultImports seperti yang dijelaskan dalam dokumen di sini: https://momentjs.com/docs/#/use -it/typescript/ dan itu memecahkan kesalahan Cannot find module "./locale"
untuk saya. Perhatikan bahwa // @ts-ignore
atas impor juga diperlukan di IDE saya.
pertanyaan yang sama, moment:'2.18.1'
Apakah ini masih disarankan: import moment from "moment/min/moment-with-locales";
?
b/c Saya berakhir dengan kesalahan (?) yang sama dengan [email protected]
dan CRA:
./node_modules/moment/min/moment-with-locales.js
Module not found: Can't resolve './locale' in '/...myproject/node_modules/moment/min'
Untuk semua orang yang lewat internet, inilah cara Anda dapat memperbaikinya jika Anda membangun dengan rollup:
Dengan asumsi Anda menggunakan 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
memiliki entri package.json
untuk jsnext:main
yang dapat kita manfaatkan di sini. untuk menyertakan lokal untuk kami selama proses pembuatan. Ukuran bundel Anda akan bertambah, tetapi itu akan mencegah kesalahan konsol
Saya memiliki masalah yang sama dengan versi momen 2.24.0 di aplikasi Bereaksi saya. Saya kira masalah ini belum terselesaikan.
Saya memiliki masalah yang sama dengan versi momen 2.24.0 di aplikasi Bereaksi saya. Saya kira masalah ini belum terselesaikan.
Mengkonfirmasi. "momen": "2.24.0". 2.18.1 tidak menyelesaikan masalah. Simpul v12.16.0
Sama di sini, dengan 2.24.0
untuk proyek Preact saya.
Masih mengalami masalah ini, tolong bantu !!
Bagi saya, rusak: "moment": "^2.24.0" (menyelesaikan menjadi 2.25.0)
Tidak rusak: "momen": "2.24.0"
jika Anda menggunakan benang, tambahkan blok resolusi untuk mengganti versi sub-ketergantungan:
"resolutions": {
"moment": "2.24.0"
}
Gunakan "moment": "2.24.0"
dan seperti yang disarankan @rilyu , gunakan resolusi. Bekerja untuk saya.
Mengembalikan ke "2.24.0" dan menghapus "^" berhasil untuk saya. Sepertinya versi terbaru mereka didorong tadi malam dan membuangnya.
Menghadapi masalah dengan "moment": "^2.24.0",
.
Uncaught Error: Cannot find module './locale'
at
Masalah yang sama. Diselesaikan dengan solusi @enewhuis . Terima kasih!
Masalah yang sama. Diselesaikan dengan solusi @enewhuis . Terima kasih sobat.
Masalah terselesaikan dengan solusi
Masalah yang sama. @enewhuis solusi untuk menyelamatkan
Bagi saya, rusak: "moment": "^2.24.0" (menyelesaikan menjadi 2.25.0)
Tidak rusak: "momen": "2.24.0"
Terima kasih kawan, aku berjuang dengan ini sepanjang hari
Kesalahan yang sama dan perbaikan yang sama di sini. Saya menggunakan zona waktu-momen.
Sebelum:
"moment-timezone": "^0.5.28",
Setelah:
"moment": "2.24.0",
"moment-timezone": "^0.5.28",
Kesalahan yang sama dan perbaikan yang sama di sini. Saya menggunakan zona waktu-momen.
Sebelum:
"moment-timezone": "^0.5.28",
Setelah:
"moment": "2.24.0", "moment-timezone": "^0.5.28",
Tidak bekerja untuk saya dengan -
"moment": "2.24.0",
"moment-timezone": "0.5.28",
Perbaikan di atas tidak bekerja untuk saya. Node v12.6.0, benang v1.22.4, skrip-reaksi-ts
Bekerja untuk kami dengan
"resolutions": {
"moment": "2.24.0"
},
dan
"moment": "2.24.0",
"moment-timezone": "0.5.28",
menggunakan benang
Itu tidak berfungsi tanpa blok resolusi.
Ya, saya dapat mengonfirmasi bahwa menambahkan blok resolutions
berhasil untuk saya. Saya tidak tahu mengapa, meskipun ...
Terima kasih @mtogstad !
@mtogstad solusi bekerja!
Saya tidak mengerti bagaimana kesalahan ini dapat muncul secara acak dan merusak aplikasi reaksi saya
@bodyfarmer dapatkah Anda menuliskan langkah-langkah bagaimana Anda mengatasinya?
Saya menghadapi masalah yang sama dengan aplikasi reaksi.
@hasanmehmood Dalam kasus saya itu sudah cukup untuk membuat downgrade dependensi momen dengan cara ini di CMD:
npm install [email protected]
Semoga ini berhasil untuk Anda juga.
Hallo teman-teman!
Saya menghadapi masalah yang sama dari beberapa jam terakhir dan akhirnya saya menyelesaikannya dengan mengubah versi momen.
Dalam komentar di atas saya melihat solusi terakhir.
Alasan:
_moment rilis versi baru 17 jam yang lalu dari 2.24.0 ke 2.25.0_
Larutan:
Langkah 1: ubah versi
Langkah 2: Jika Anda menggunakan benang, harap tambahkan resolusi di file package.json Anda seperti ini
"ketergantungan" {
"momen": "2.24.0",
"zona waktu-momen": "^0.5.28"
},
"resolusi": {
"momen": "2.24.0"
},
Terima kasih.
Terima kasih, @jolalla , saya pertama kali mencoba menurunkan versi tetapi tidak berhasil untuk saya. Akhirnya menambahkan blok resolusi menunjukkan keajaiban :)
Untuk orang lain yang menghadapi masalah serupa dengan aplikasi reaksi mereka. Mereka dapat melakukan 2 langkah berikut untuk mengatasinya.
Dalam dependensi, ganti
"moment": "^2.24.0",
dengan
"moment": "2.24.0",
Dan tambahkan blok resolusi di package.json
"resolutions": {
"moment": "2.24.0"
}
Mengapa masalah ini ditutup!?!??!?
Waktu yang tepat untuk beralih ke luxon yang saya lakukan untuk satu proyek yang memiliki penggunaan momen yang rendah.
Memiliki masalah yang sama
"resolusi": {
"momen": "2.24.0"
}
memecahkan masalah saya.
Terima kasih.
Ada lagi yang bisa saya coba? "moment": "2.24.0"
, dan
"resolutions": {
"moment": "2.24.0"
}
tidak memperbaikinya untuk saya. Ini untuk penyebaran Heroku. Setiap ide dihargai.
Jika kebetulan ada orang lain yang memiliki monorepo (dan/atau menggunakan ruang kerja di package.json), perbaikan 'resolusi' untuk menggunakan rilis momen sebelumnya 2.24.0 hanya akan berfungsi jika diterapkan di level root package.json. Dalam kasus kami, kami harus melakukan hal berikut:
{ “resolusi”: { “**/momen”: “2.24.0” } }.
Benar-benar berharap saat rilis 2.25 diperbaiki dengan benar ASAP!
jika Anda menggunakan benang, tambahkan blok resolusi untuk mengganti versi sub-ketergantungan:
"resolutions": { "moment": "2.24.0" }
Saya sudah berurusan dengan ini selama satu jam. menghapus ^
membantu.
Untuk orang yang menggunakan create-react-app dan yang tidak ingin mengeluarkan CRA, Anda dapat menginstal:
Kemudian buat config-overrides.js
di direktori root proyek Anda untuk penggantian lebih lanjut.
module.exports = function override(config, env) {
// do stuff with the webpack config...
return config;
};
Edit package.json Anda:
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test",
Karena saya menggunakan desain semut config-overrides.js
terlihat seperti ini:
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",
})
);
Tetapi milik Anda akan lebih sederhana, seperti ini menurut saya:
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;
};
Terima kasih, @jolalla , saya pertama kali mencoba menurunkan versi tetapi tidak berhasil untuk saya. Akhirnya menambahkan blok resolusi menunjukkan keajaiban :)
Untuk orang lain yang menghadapi masalah serupa dengan aplikasi reaksi mereka. Mereka dapat melakukan 2 langkah berikut untuk mengatasinya.
Dalam dependensi, ganti
"moment": "^2.24.0",
dengan
"moment": "2.24.0",
Dan tambahkan blok resolusi di package.json
"resolutions": { "moment": "2.24.0" }
Bekerja untuk saya. Terima kasih
@hasanmehmood berhasil untuk saya, terima kasih
Terima kasih, @jolalla , saya pertama kali mencoba menurunkan versi tetapi tidak berhasil untuk saya. Akhirnya menambahkan blok resolusi menunjukkan keajaiban :)
Untuk orang lain yang menghadapi masalah serupa dengan aplikasi reaksi mereka. Mereka dapat melakukan 2 langkah berikut untuk mengatasinya.
Dalam dependensi, ganti
"moment": "^2.24.0",
dengan
"moment": "2.24.0",
Dan tambahkan blok resolusi di package.json
"resolutions": { "moment": "2.24.0" }
Bekerja untuk saya juga! Terima kasih!! :D
Telah melakukan ini selama berjam-jam di aplikasi angular 8 saya dengan npm.
"devDependencies": {...},"resolutions": {
"moment": "2.24.0"
}
ke package.jsonrm -rf node_modules package-lock.json && yarn
Saya sangat putus asa... Saya menggunakan momen 2.25.1 dan mengubah "devDependencies": {...},"resolusi": { "moment": "2.25.1" } seperti di atas... tidak bekerja
saya menggunakan npm. saya seorang pemula dalam bereaksi di mana devDependencies?
saya telah mengubah ini tetapi masih tidak berfungsi
Saya menggunakan versi "2.25.1" dan masih terjadi!
@m4mariaoni - itu karena Anda menginstal tanpa --save-dev
, jadi Anda mengubah bagian yang benar.
Jika Anda masih mengalami masalah ini setelah mengunci momen ke 2.24.0, hapus folder momen dari node_modules dan instal ulang paket Anda dengan npm install --save
Terima kasih, @jolalla , saya pertama kali mencoba menurunkan versi tetapi tidak berhasil untuk saya. Akhirnya menambahkan blok resolusi menunjukkan keajaiban :)
Untuk orang lain yang menghadapi masalah serupa dengan aplikasi reaksi mereka. Mereka dapat melakukan 2 langkah berikut untuk mengatasinya.
Dalam dependensi, ganti
"momen": "^2.24.0",
dengan
"momen": "2.24.0",
Dan tambahkan blok resolusi di package.json
"resolusi": {
"momen": "2.24.0"
}
Bekerja untuk saya juga! Terima kasih!! :D!berpikir!
Terima kasih, @jolalla , saya pertama kali mencoba menurunkan versi tetapi tidak berhasil untuk saya. Akhirnya menambahkan blok resolusi menunjukkan keajaiban :)
Untuk orang lain yang menghadapi masalah serupa dengan aplikasi reaksi mereka. Mereka dapat melakukan 2 langkah berikut untuk mengatasinya.
Dalam dependensi, ganti
"moment": "^2.24.0",
dengan
"moment": "2.24.0",
Dan tambahkan blok resolusi di package.json
"resolutions": { "moment": "2.24.0" }
Mengganti
"moment": "^2.24.0",
dengan
"moment": "2.24.0",
bekerja untuk saya! Biasa,
rm -rf package-lock.json && node_modules
Meski sudah melakukan semua langkah di atas, masih tidak berhasil ...
Ini membuat frustrasi
Repositori yang dibuat sebelumnya digunakan moment 2.24.0 dengan React, dan masih berfungsi, tetapi instal moment2.24.0 sekarang, tidak berfungsi.... (Saya sudah mencoba semua langkah di atas juga)
Apa penyebabnya?
Saya membayangkan Anda mungkin memiliki ^2.24.0 alih-alih 2.24.0 di suatu tempat di package.json @ wlsdud2194?
Saya tidak, dan masih kesalahan terus datang. Itu aneh
versi saat ini adalah 2.24.0
dalam package.json alih-alih ^2.24.0
yang sejak saya menginstalnya.
Saya mengikuti proses ini, salah satu langkah di atas
- tambahkan blok resolusi
- hapus direktori
node_modules
dan instal ulang paket dari benang.
bekerja untuk saya, tapi tidak tahu mengapa bekerja...😂
Terima kasih atas minatnya :) @agrohs
Harus menurunkan versi dari ^2.25.1
ke 2.24.0
untuk memperbaiki masalah
Saya tidak, dan masih kesalahan terus datang. Itu aneh
Coba jalankan npm ls moment
untuk melihat apakah ada modul lain yang menggunakan momen juga
Dan tambahkan blok resolusi di package.json
"resolusi": {"momen": "2.24.0"}
hapus direktori node_modules dan instal ulang paket dari benang.
rm -rf package-lock.json && node_modules
Kontak: Tuan Liu Telp: 18908205973
Faks: 028-86676917
Email: [email protected]
Nama perusahaan: Chengdu Shouzhi Technology Co., Ltd. Situs web perusahaan: www.szdma.com
Alamat: Gedung Yinhai, No. 162, Jalan Timur Binjiang, Chengdu
Chengdu Shouzhi Technology Co., Ltd. didirikan pada tahun 2010. Ini adalah perusahaan pengembangan kustomisasi perangkat lunak profesional untuk usaha kecil dan menengah di Chengdu. Perusahaan ini terutama melayani usaha kecil dan menengah. Ini menyediakan konstruksi jaringan area lokal, situs web konstruksi, solusi kustomisasi perangkat lunak, dll., dan menyediakan layanan manual Satu set lengkap layanan untuk bisnis komputer. Perusahaan menganut prinsip "berbasis integritas, berorientasi layanan" untuk menonjolkan citra perusahaan; melalui upaya tak henti-hentinya kami, kami menyediakan layanan berkualitas tinggi kepada pelanggan.
Kami mendapatkan kesalahan Webpack Error: Cannot find module "./locale"
. Kami menggunakan paket 'react-redux-i18n' dalam proyek kami yang memiliki ketergantungan pada 'react-i18nify' dan pada gilirannya memiliki ketergantungan pada 'momen'. 'Momen' internal dikonfigurasi untuk menggunakan versi terbaru yang menyebabkan kesalahan ini.
Dalam dependensi
"bereaksi": "^16.8.1",
"momen": "2.24.0",
"zona waktu-momen": "^0.5.28",
"react-moment-proptypes": "^1.5.0",
"react-redux-i18n": "^1.9.3",
"react-redux": "^6.0.0",
Bantuan apa pun akan sangat dihargai.
Patch terbaru 2.25.3 tampaknya telah memperbaikinya, perbarui versi momentjs ke: "moment": "^2.25.3"
di package.json
Hapus folder node_modules, dan jalankan yarn install
atau npm install
harus melakukannya.
Bagi mereka yang kehilangan kepercayaan diri pada saat itu, dan tidak ingin aplikasi mereka benar-benar berhenti dari masalah ini terjadi lagi di masa mendatang - saya mengganti basis kode berukuran sedang ke luxon tanpa terlalu banyak kesulitan.
Terima kasih orang...
Saya mengubah versi menjadi 24.0 dan menambahkan "resolusi": { "moment": "2.24.0" } dan menjalankan npm install
Kemudian sepertinya berfungsi lagi (omong-omong, bekerja dengan React).
Bersulang!
Patch terbaru 2.25.3 tampaknya telah memperbaikinya, perbarui versi momentjs ke:
"moment": "^2.25.3"
di package.json
Hapus folder node_modules, dan jalankanyarn install
ataunpm install
harus melakukannya.
Terima kasih @jasontll , ini berhasil untuk saya
Tak satu pun dari solusi ini bekerja untuk saya hari ini.
Telah melakukan ini selama berjam-jam di aplikasi reaksi saya
dengan 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
itu juga bekerja untuk teman-teman terima kasih banyak :-)
Saya juga lari dalam masalah ini. Saya telah memperbaikinya dengan versi terbaru pada "moment": "^2.26.0"
Komentar yang paling membantu
@patricksteenks : iya. Perbaiki seperti ini di package.json Anda
"moment": "2.18.1"