Milligram: Eliminar la propiedad de los motores de package.json

Creado en 10 jun. 2020  ·  10Comentarios  ·  Fuente: milligram/milligram

¿Importa realmente la versión del nodo?

awaiting reply

Comentario más útil

@davidroeca @westtrade por favor, ¿puede decirme qué sucede cuando instala Milligram?

Sé que tenemos 2 excelentes ejemplos y, según tengo entendido, el primer ejemplo usa una versión anterior a LTS y el segundo ejemplo usa una versión posterior a LTS, y ambos ejemplos se ven afectados.

Primero, me gustaría saber si ocurre el mismo comportamiento al usar Yarn y Npm.

Además, ¿ocurre el mismo comportamiento cuando usa o instala Milligram v1.4.0 y v1.3.0 (últimas versiones)?

En mi caso, simplemente no se instala y NPM arroja un error que escribí en el título. Su marco es maravilloso, pero es extraño que el marco de estilo requiera una versión de intérprete de servidor. ¿No funcionarían los estilos de navegador sin un intérprete de servidor?

Todos 10 comentarios

@westtrade Milligram se actualizó a la versión LTS de Node.js, ya que es una práctica muy recomendable mantener todas las dependencias actualizadas.

Por favor, ¿puede explicar con detalles por qué Milligram necesita Node.js v11?

Me encontré con este problema yo mismo. Actualmente en el nodo 14, la vanguardia, y usando esbelta , que también está en la vanguardia. Como usuario, es un poco extraño tener un marco de solo CSS que me diga en qué motor de nodo se supone que debo estar. Supongo que esta bandera del motor es más útil para los desarrolladores de milligram sí.

Una solución fácil para este problema en hilo es yarn add --ignore-engines milligram , y dígale a cualquiera que clone su repositorio en yarn install --frozen-lockfile --ignore-engines lugar de solo yarn install --frozen-lockfile . Sin embargo, esto no es ideal, dado que todo lo que estoy importando es css.

@davidroeca Sí. La versión de Node.js se define porque es necesaria para el entorno de desarrollo de Milligram. Además, es una práctica muy recomendable mantener todas las dependencias actualizadas. En este caso, Milligram usa la versión LTS (v12) de Node.js.

Entonces, permítame entender mejor lo que está sucediendo y tal vez podamos ayudar a mejorarlo.

@cjpatoilo Estoy de acuerdo en que es mejor mantener los paquetes actualizados. De hecho, soy más actual que v12. Mi problema es ligeramente diferente al problema de >= para permitir futuras versiones de nodos también:

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

Una discusión similar ha tenido lugar en el repositorio de arranque . Optaron por eliminar el campo de motores por completo, porque estos motores específicos solo son necesarios para crear la carpeta dist/ que están usando los usuarios. Esto sucede en el paso de compilación, por lo que en realidad no necesito nada relacionado con JS para descargar estos archivos.

Desde el punto de vista del desarrollo en este repositorio, ¿es suficiente una nota en el archivo README que especifique la versión de nodo compatible + un entorno de CI con una versión de nodo fijo a este respecto?

@westtrade @davidroeca por ahora, eliminaré engine de package.json

@davidroeca @westtrade por favor, ¿puede decirme qué sucede cuando instala Milligram?

Sé que tenemos 2 excelentes ejemplos y, según tengo entendido, el primer ejemplo usa una versión anterior a LTS y el segundo ejemplo usa una versión posterior a LTS, y ambos ejemplos se ven afectados.

Primero, me gustaría saber si ocurre el mismo comportamiento al usar Yarn y Npm.

Además, ¿ocurre el mismo comportamiento cuando usa o instala Milligram v1.4.0 y v1.3.0 (últimas versiones)?

Con npm, recibo las siguientes advertencias:

❯ 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

Con hilo, es un error:

❯ 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.

Bajando a 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

Con hilo:

❯ 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.

Con milligram@~1.3.0 , puedo usar la última versión de nodejs sin problemas:

❯ 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 por favor, ¿puede decirme qué sucede cuando instala Milligram?

Sé que tenemos 2 excelentes ejemplos y, según tengo entendido, el primer ejemplo usa una versión anterior a LTS y el segundo ejemplo usa una versión posterior a LTS, y ambos ejemplos se ven afectados.

Primero, me gustaría saber si ocurre el mismo comportamiento al usar Yarn y Npm.

Además, ¿ocurre el mismo comportamiento cuando usa o instala Milligram v1.4.0 y v1.3.0 (últimas versiones)?

En mi caso, simplemente no se instala y NPM arroja un error que escribí en el título. Su marco es maravilloso, pero es extraño que el marco de estilo requiera una versión de intérprete de servidor. ¿No funcionarían los estilos de navegador sin un intérprete de servidor?

@davidroeca @westtrade gracias por explicarme.
Seguiré rastreando este problema y tal vez encuentre un mejor enfoque.

Por ahora, cerraré este problema y fusionaré PR # 253.
No dude en reabrir este problema o abrir uno nuevo.

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