Milligram: Hapus properti engine dari package.json

Dibuat pada 10 Jun 2020  ·  10Komentar  ·  Sumber: milligram/milligram

Apakah versi simpul benar-benar penting?

awaiting reply

Komentar yang paling membantu

@davidroeca @westtrade tolong, bisakah Anda memberi tahu saya apa yang terjadi ketika Anda menginstal Milligram?

Saya tahu bahwa kami memiliki 2 contoh bagus, dan seperti yang saya pahami, contoh pertama menggunakan versi sebelum LTS dan contoh kedua menggunakan versi setelah LTS, dan kedua contoh terpengaruh.

Pertama, saya ingin tahu apakah perilaku yang sama terjadi saat menggunakan Benang dan Npm.

Selain itu, perilaku yang sama terjadi ketika Anda menggunakan atau menginstal Milligram v1.4.0 dan v1.3.0 (versi terakhir)?

Dalam kasus saya, itu tidak menginstal, dan NPM membuat kesalahan yang saya tulis di judul. Kerangka kerja Anda luar biasa - tetapi aneh bahwa kerangka gaya memerlukan versi juru bahasa server. Tidakkah gaya peramban berfungsi tanpa juru bahasa server?

Semua 10 komentar

@westtrade Milligram ditingkatkan ke versi LTS dari Node.js, karena ini adalah praktik yang sangat disarankan untuk menjaga semua dependensi tetap terkini.

Tolong, bisakah Anda menjelaskan dengan detail mengapa Milligram membutuhkan Node.js v11?

Hanya tersandung pada masalah ini sendiri. Saat ini di simpul 14, tepi pendarahan, dan menggunakan svelte , yang juga ada di tepi pendarahan. Sebagai pengguna, agak aneh memiliki kerangka kerja khusus css yang memberi tahu saya mesin simpul mana yang seharusnya saya gunakan. Saya menganggap bendera mesin ini lebih berguna untuk pengembang milligram itu sendiri?

Solusi mudah untuk masalah ini di yarn adalah yarn add --ignore-engines milligram , dan beri tahu siapa pun yang mengkloning repo Anda ke yarn install --frozen-lockfile --ignore-engines daripada hanya yarn install --frozen-lockfile . Namun, ini tidak ideal, mengingat yang saya impor hanyalah css.

@davidroeca Ya. Versi Node.js ditentukan karena diperlukan untuk lingkungan pengembangan Miligram. Selain itu, ini adalah praktik yang sangat disarankan untuk menjaga semua dependensi tetap terkini. Dalam hal ini, Milligram menggunakan versi LTS (v12) dari Node.js.

Jadi, izinkan saya lebih memahami apa yang terjadi dan mungkin kami dapat membantu memperbaikinya.

@cjpatoilo Saya setuju bahwa yang terbaik adalah menjaga paket tetap terkini. Saya sebenarnya lebih terkini daripada v12. Masalah saya sedikit berbeda dari masalah @westtrade karena masalah saya dapat diselesaikan dengan mengalihkan persyaratan tanda sisipan mesin ke >= untuk memungkinkan versi simpul yang akan datang juga:

  "engines": {
-    "node": "^12.17.0",
+    "node": ">=12.17.0",
    "npm": "^6.14.5"
  },

Diskusi serupa telah terjadi di repo bootstrap . Mereka memilih untuk menghapus bidang mesin seluruhnya, karena mesin khusus ini hanya diperlukan untuk membuat folder dist/ yang digunakan pengguna. Ini terjadi pada langkah pembuatan, jadi saya sebenarnya tidak memerlukan apa pun yang terkait dengan JS untuk mengunduh file-file ini.

Dari sudut pandang pengembangan dalam repo ini, apakah catatan di README yang menentukan versi simpul yang didukung + lingkungan CI dengan versi simpul yang disematkan sudah cukup dalam hal ini?

@westtrade @davidroeca untuk saat ini, saya akan menghapus engine dari package.json

@davidroeca @westtrade tolong, bisakah Anda memberi tahu saya apa yang terjadi ketika Anda menginstal Milligram?

Saya tahu bahwa kami memiliki 2 contoh bagus, dan seperti yang saya pahami, contoh pertama menggunakan versi sebelum LTS dan contoh kedua menggunakan versi setelah LTS, dan kedua contoh terpengaruh.

Pertama, saya ingin tahu apakah perilaku yang sama terjadi saat menggunakan Benang dan Npm.

Selain itu, perilaku yang sama terjadi ketika Anda menggunakan atau menginstal Milligram v1.4.0 dan v1.3.0 (versi terakhir)?

Dengan npm, saya mendapatkan peringatan berikut:

❯ node --version
v14.4.0
❯ npm --version
6.14.5
❯ npm install --save milligram
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN notsup Unsupported engine for [email protected]: wanted: {"node":"^12.17.0","npm":"^6.14.5"} (current: {"node":"14.4.0","npm":"6.14.5"})
npm WARN notsup Not compatible with your version of node/npm: [email protected]
+ [email protected]
added 2 packages from 1 contributor and audited 2 packages in 1.581s
found 0 vulnerabilities

Dengan benang, ini adalah kesalahan:

❯ node --version
v14.4.0
❯ yarn --version
1.22.4
❯ yarn add milligram
yarn add v1.22.4
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
error [email protected]: The engine "node" is incompatible with this module. Expected version "^12.17.0". Got "14.4.0"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

Turun ke 12.8.0

❯ node --version
v12.18.0
❯ npm --version
6.14.5
❯ npm install --save milligram
npm notice created a lockfile as package-lock.json. You should commit this file.
+ [email protected]
added 2 packages from 1 contributor and audited 2 packages in 0.876s
found 0 vulnerabilities

Dengan benang:

❯ yarn --version
1.22.4
❯ yarn add milligram
yarn add v1.22.4
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
success Saved 2 new dependencies.
info Direct dependencies
└─ [email protected]
info All dependencies
├─ [email protected]
└─ [email protected]
Done in 0.34s.

Dengan milligram@~1.3.0 , saya dapat menggunakan versi terbaru dari nodejs tanpa masalah:

❯ node --version
v14.4.0
❯ yarn add milligram@~1.3.0
yarn add v1.22.4
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
success Saved 2 new dependencies.
info Direct dependencies
└─ [email protected]
info All dependencies
├─ [email protected]
└─ [email protected]
Done in 1.47s.

@davidroeca @westtrade tolong, bisakah Anda memberi tahu saya apa yang terjadi ketika Anda menginstal Milligram?

Saya tahu bahwa kami memiliki 2 contoh bagus, dan seperti yang saya pahami, contoh pertama menggunakan versi sebelum LTS dan contoh kedua menggunakan versi setelah LTS, dan kedua contoh terpengaruh.

Pertama, saya ingin tahu apakah perilaku yang sama terjadi saat menggunakan Benang dan Npm.

Selain itu, perilaku yang sama terjadi ketika Anda menggunakan atau menginstal Milligram v1.4.0 dan v1.3.0 (versi terakhir)?

Dalam kasus saya, itu tidak menginstal, dan NPM membuat kesalahan yang saya tulis di judul. Kerangka kerja Anda luar biasa - tetapi aneh bahwa kerangka gaya memerlukan versi juru bahasa server. Tidakkah gaya peramban berfungsi tanpa juru bahasa server?

@davidroeca @westtrade terima kasih telah menjelaskan kepada saya.
Saya akan terus melacak masalah ini dan mungkin saya menemukan pendekatan yang lebih baik.

Untuk saat ini, saya akan menutup masalah ini dan menggabungkan PR #253.
Tolong, jangan ragu untuk membuka kembali masalah ini atau membuka yang baru.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat