¿Quieres solicitar una _función_ o informar de un _ error_?
_insecto_
¿Cuál es el comportamiento actual?
Ejecutar yarn upgrade
para actualizar una dependencia de desarrollo, incluso con el indicador --dev
, agregará la versión mejorada de la dependencia al hash dependencies
en package.json
lugar de devDependencies
.
Esto también podría ser un problema con otros tipos de dependencia (como pares), pero no lo he probado.
Si el comportamiento actual es un error, proporcione los pasos para reproducirlo.
$ mkdir foo && cd foo
$ yarn init
<snip>
$ yarn add lodash<strong i="19">@3</strong> --dev
<snip>
$ grep lodash package.json -C 1
"devDependencies": {
"lodash": "3"
}
$ yarn outdated
yarn outdated v0.16.1
Package Current Wanted Latest
lodash 3.10.1 3.10.1 4.16.4
$ yarn upgrade lodash --dev
<snip>
success Saved 1 new dependency
└─ [email protected]
$ grep lodash package.json -C 1
"devDependencies": {
"lodash": "3"
},
--
--
"dependencies": {
"lodash": "^4.16.4"
}
¿Cuál es el comportamiento esperado?
yarn upgrade
debería actualizar la cadena de versión de la entrada en el hash devDependencies
.
Sería bueno si esto se pudiera hacer sin --dev
usando la ubicación actual de la dependencia (actualizar un departamento de desarrollo modificaría devDependencies
, actualizar un departamento normal modificaría dependencies
) .
Por favor, mencione su versión de node.js, yarn y sistema operativo.
$ node --version
v6.9.1
$ yarn --version
0.16.1
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.12
BuildVersion: 16A323
Puedo confirmar que veo que esto sucede exactamente en la misma versión de Yarn. En lugar de actualizar la dependencia de desarrollo existente, agrega una nueva entrada a "dependencias" y deja allí la dependencia de desarrollo existente.
Error confirmado aquí también.
Igual que aquí. standard
sigue insertándose en dependencies
a pesar de que vive en devDependencies
.
He probado tanto yarn upgrade standard
como yarn upgrade standard -D
. La misma cosa.
¡Sin embargo, un programa encantador! ¡Gracias por construirlo!
Aquí está el mismo problema, un poco antes - # 1262
Igual que aquí.
Igual que aquí. Cada módulo actualizado a través de yarn update
se agrega a dependencies
.
--dev
u otras opciones no están documentadas para yarn update
y aparentemente se ignoran.
La actualización de la OMI debería aceptar las mismas opciones que install
, o incluso actualizar mejor la dependencia en la categoría en la que se encuentra en package.json
node --version
v6.9.0
yarn --version
0.16.1
Aún sin arreglar, estoy usando el último Yarn instalado a través de Homebrew.
@kube ¿Podría agregar más detalles si aún es un problema? ¿Versiones para SO, Node, Yarn? ¿Un package.json
que se puede usar para reproducir?
λ yarn --version
0.16.1
Estoy en macOS 10.12.1, instalé Yarn con Homebrew.
Y aquí está el package.json
en el que probé.
ts-loader
y webpack-merge
están desactualizados, actualizándolos con yarn los agregó a las dependencias, dejando a devDependencies desactualizadas.
@kube Por favor, pruebe con 0.17.0
que se acaba de lanzar hoy, esta corrección se incluyó en esa versión, pero no en 0.16.1
.
Claro, pero Homebrew todavía tiene 0.16.1
λ brew upgrade yarn
Error: yarn 0.16.1 already installed
Intenté instalar con NPM y acabo de tener la última versión, pero parece extraño instalar Yarn con NPM.
Ok, todo funciona bien cuando se usa 0.17.0, pero tal vez debería actualizar la versión Brew.
¿Cuál es el administrador de paquetes preferido o la forma de instalar Yarn?
Brew es el método preferido de instalación para OSX. Sigue siendo un proceso manual para actualizarlo en Homebrew, por lo que alguien tendrá que solicitar que se actualice como lo hizo aquí: https://github.com/Homebrew/homebrew-core/pull/6060
Cuando ejecuto yarn upgrade
, no actualiza ninguna versión en package.json
. Esto es bastante molesto viniendo de NPM, en el que actualizaría automáticamente los números.
Estoy usando hilo 0.17.2 de homebrew.
@milesj , esto probablemente debería ser un problema separado y proporcione los pasos para reproducir junto con un package.json
que podamos usar para reproducir.
Crearé un nuevo problema.
En Debian Stable, yarn 0.17.4, este problema parece estar solucionado al menos. Actualizó lodash@3
a lodash@4
correctamente, por lo que podría ser solo una cuestión de ir a la última versión.
Estoy intentando actualizar grunt-sass de 1.1.0
a 2.0.0
(en mi __dev-dependencies__)
Ejecuto yarn upgrade [email protected]
pero agrego grunt-sass en mis __dependencias__ y no actualizo el de __dev-dependencies__
También probé yarn upgrade [email protected] --dev
pero el problema persiste
Usando yarn v0.18.1 todavía no puedo forzar una actualización de una subdependencia. yarn upgrade
solo agrega una nueva entrada al package.json y no actualiza la subdependencia.
El problema aún existe en 0.19.1, la actualización de hilo no actualizó package.json.
@kittens esto no está arreglado por # 1620
También puedo confirmar este problema en 0.19.1.
todos: el uso de yarn add <package-name>
actualizará el paquete deseado por ahora.
yarn upgrade
tampoco me funciona, v0.19.1
La actualización de yarn actualmente solo actualiza yarn.lock, no actualiza package.json.
Puede confirmar el problema en v0.20.3
Tengo el mismo problema, cuando uso la actualización de hilo, actualiza todos los paquetes, pero no se refleja en el archivo package.json. v0.20.3 .. realmente molesto. También noté que cuando uso "yarn install", instala las últimas versiones de todos los paquetes de lista en package.json y no se queda con las versiones mencionadas en él, por lo que es como si yarn las actualizara a la última versión y tampoco refleja eso en package.json pero se muestra en yarn.lock versiones actuales que instalaron
@kittens v0.20.3 @ Windows y aún no actualiza package.json, solo archivo yarn.lock. Deberías volver a abrir esto.
Estoy dejando caer hilo y volviendo a npm debido a este error. No importa cómo intente actualizar mis paquetes, yarn buscará los más nuevos en el caché y mantendrá las versiones anteriores en mi package.json y en la carpeta node_modules. ¿Cuál es el punto de?..
¡Si! Puedo confirmar que Yarn v0.21.3 finalmente actualiza package.json, al menos yarn upgrade-interactive
command.
@alexdevero acabo de probar yarn upgrade
en 3 proyectos míos: no actualizó ningún package.json ....
pero confirmo que yarn upgrade-interactive
funciona ... para el primer proyecto actualizado
el próximo uso de yarn upgrade-interactive
en otros proyectos que necesiten la misma actualización fallará, es decir, "éxito Todas sus dependencias están actualizadas".
Probé con la actualización de los scripts de reacción de 0.9.xa 0.9.3 en cada uno de mis 3 proyectos. yarn upgrade-interactive
trabajó en el primer proyecto, pero luego ignoró la actualización en otros 2 proyectos.
A partir de hoy, en la versión 0.21.3, yarn upgrade
todavía se comporta de forma incorrecta.
Estoy usando yarn add package<strong i="7">@version</strong> --dev
lugar, y actualiza el paquete como se desea y actualiza package.json correctamente.
Fwiw, he estado usando upgrade-interactive
que por alguna razón parece dar mejor suerte.
🍒 🍒 🍒
Sería bueno saber cuál es el comportamiento esperado del hilo en este caso. ¿Puede alguno de los desarrolladores de hilo decir si el hilo debería actualizar package.json o no?
Acabo de hacer un yarn upgrade babel-cli
que estaba en mi devDependencies
y se agregó como una dependencia de producción (a dependencies
) ... algo aún está completamente roto. ¡Ah, y uso hilo v 0.22.0 por cierto!
EDITAR: Resulta que tenía NODE_ENV configurado en "producción" (debido a que mi aplicación es una aplicación de nodo) y esto estropea cosas como "instalación de hilo" (que actuará como yarn install --production
y omitir completamente devDependencies
por ejemplo).
Quizás yarn upgrade
también se vea afectado por la variable de entorno del nodo.
Me acabo de dar cuenta de esto:
No soy apologista ni nada, creo que esto debería reabrirse ... pero bailes santos. 720 números son suficientes para ahogar un crucero lleno de desarrolladores de hilos.
El problema +1 todavía está presente en Yarn v0.21.3 en Windows 10 Pro y Node 6.10.0.
Esto no está arreglado. Lo estoy obteniendo en macOS Sierra 10.12.4. Tengo algunos devDependencies
que son repositorios privados de git y uno estándar dependency
( "jquery": "^3.1.1"
). La última versión de jQuery es 3.2.1, y yarn upgrade
ve eso ( ├─ [email protected]
) pero no actualiza package.json
.
yarn --version
0.21.3
node --version
v7.7.4
Reabrir.
Windows: v0.21.3 falla con yarn upgrade
... al especificar un paquete después de que actualice tanto package.json como el archivo de bloqueo.
Windows - v0.22 -
Afortunadamente, solo lo usé en un proyecto y pude revertir el desastre. Me encanta la idea detrás de Yarn, pero no me molestaré con ella hasta que esto esté resuelto.
Windows, Yarn v0.22 - no actualiza package.json
cuando se usa yarn upgrade
como mencionó @LaughingBubba . La carpeta node_modules
se actualiza, pero package.json
no, lo que crea un lío en las versiones del paquete.
@kittens , no parece que esto se haya solucionado.
Acabo de ver esto de nuevo en 0.23.2.
En mi caso, parece que si al menos 1 de las dependencias actualizadas en una lista NO es un devDep, entonces coloca todas las actualizaciones en dependencias en package.json.
Actualización: también lo veo con la actualización de un solo devDep. Se copia en departamentos sin actualizarse.
Esto definitivamente no está arreglado. Perdí una hora ahora en esto. ¿No se suponía que el hilo era mejor que el npm?
@ fab1an , por el momento use yarn add package-name<strong i="6">@latest</strong> [--dev]
para actualizar un paquete. Se comporta como se espera que lo haga upgrade
, actualizando package.json correctamente.
@diegovilar Gracias por el consejo, pero eso es demasiado engorroso para más de 25 dependencias de desarrollo. Acabo de volver a usar npm-check -u
para actualizarlos.
Aún roto en Windows x64, Yarn 0.23.2
Para todos los que comentan aquí, sugiero usar yarn upgrade-interactive
mientras tanto. Ha funcionado bastante bien aquí.
Aún está roto y si usa yarn upgrade-iteractive
y no sabe de qué versión de tslint, codelyzer, mecanografiado, etc., dependen los paquetes, como Angular o Angular CLI, puede y causará un montón de errores que lo perseguirán incluso después de revertirlo todo. ¿Se ha vuelto a publicar este problema?
@milesj NO. Estoy aquí y he estado usando SOLO upgrade-interactive
con exactamente los mismos problemas.
No estaba seguro de si esto se estaba poniendo cara a cara ya que ha estado cerrado durante meses, así que creó un nuevo problema: # 3266
@ fab1an Eso es lamentable. No he tenido problemas con la actualización de package.json: /
@ fab1an @milesj También he tenido upgrade-interactive
not update package.json en uno de nuestros proyectos. Parecía que si actualiza y package.json no tiene el número correcto, entonces todas las actualizaciones interactivas no actualizan package.json ... o algo ... de cualquier manera definitivamente puede estar de acuerdo con usted en que a veces no funciona.
Windows 10, yarn v0.23.4 todavía no actualiza el package.json al hacer yarn upgrade
Editar: ¿Quizás esto es intencional?
Por ejemplo: "semantic-ui-react": "^0.68.2"
- ya hay una nueva versión (0.68.3) y esa versión está instalada y yarn.lock se cambia a 0.68.3 pero debido a ^
en la versión (> = 0.68.2 <0.69.0) no es necesario actualizar package.json a ^0.68.3
?
@iamfreee Estoy ejecutando Yarn v0.24.5 y ejecutando yarn upgrade
no actualiza package.json, solo yarn.lock. Esto no puede (o al menos no debería) ser intencional, porque en primer lugar, el control de versiones en package.json es establecer primero la versión real del paquete y luego dictar las restricciones de actualización, es decir, ^
o ~
. En segundo lugar, ejecutar yarn upgrade
en un paquete individual cambia el package.json, entonces, ¿por qué el comportamiento al actualizar todos los paquetes es diferente? ¿Por qué debería haber una discrepancia en el comportamiento entre ejecutar yarn upgrade
y yarn upgrade-interactive
si no tiene sentido?
Este problema ha estado cerrado por un tiempo, así que, francamente, no está recibiendo tracción. Deberíamos abrir una nueva edición. Incluso si este comportamiento es intencional, todavía no estoy de acuerdo con él. yarn upgrade
ni siquiera debería actualizar a la etiqueta @latest porque ¿qué https://docs.npmjs.com/cli/update#caret -dependencies
@leosco En mi caso npm update
no actualizó el package.json
también y también yarn upgrade [package]
no funcionó. Es por eso que creo que el problema está relacionado con la restricción de versión ^
, o es el comportamiento esperado.
@iamfreee No, tienes que hacer npm update --save
que se supone que es el comportamiento predeterminado de Yarn.
Publiqué un nuevo número que detalla todo esto, vea aquí https://github.com/yarnpkg/yarn/issues/3492 y tal vez continúe la discusión allí.
También me gustaría repetir que he tenido éxito con yarn interactive-upgrade
mientras que yarn upgrade --latest
no me ha funcionado.
Usando yarn v0.24.6 con el nodo v7.10.0.
yarn upgrade --latest
funciona bien: +1:
~> yarn -v
1.0.0
~> yarn upgrade --help | grep "\-\-latest" | head -n 1
--latest list the latest version of packages, ignoring version ranges in package.json
yarn interactive-upgrade
parece tener problemas ahora en v1.
@milesj ¿Puedes probar las construcciones nocturnas? https://yarnpkg.com/en/docs/nightly Este RP puede haberlo solucionado https://github.com/yarnpkg/yarn/commit/da2b9096057301273aa27336f70622dda09b6c33
@kaylieEB No estoy seguro, pero creo que yarn interactive-upgrade
comporta package.json
no se modificó, solo yarn.lock
. Antes de la 1.0.2, creo que package.json
se habría mantenido sincronizado con las versiones actualizadas, pero puedo estar equivocado sobre esto ... La última compilación nocturna no cambió ese comportamiento para mí.
yarn upgrade --latest
ahora funciona bien, pero preferí poder elegir interactivamente qué actualizar, y luego ajustar el package.json
consecuencia.
@lehni También hay yarn interactive-upgrade --latest
.
@milesj : ¿quisiste decir yarn upgrade-interactive --latest
?
documentos: https://yarnpkg.com/en/docs/cli/upgrade-interactive
Err sí, pedo cerebral. Gracias.
lo mismo aquí con hilo 1.3.2
lo mismo aquí con hilo 1.5.1
Roto en 1.5.1 de nuevo
roto con -
$ node --version
v9.0.0
$ yarn --version
1.5.1
mismo problema nodo v8.9.4
hilo 1.5.1
Una solución alternativa: use yarn add
lugar de yarn upgrade
.
En breve:
yarn upgrade
: actualizar los paquetes al último rango posible especificado por pacakge.json
, pero no sobrescribiryarn add
: actualizar los paquetes al último rango posible y reescribir package.json
yarn update
, como npm update
: no existeSin embargo, el documento de la actualización de npm dice:
A partir de [email protected] , la actualización de npm cambiará package.json para guardar la nueva versión como la dependencia mínima requerida. Para obtener el comportamiento anterior, use npm update --no-save.
Pero, de hecho...
y > npm -v
5.7.0
y > cat package.json
{
"dependencies": {
"lodash": "^4.17.5"
}
}
y > npm update lodash
npm WARN y No description
npm WARN y No repository field.
npm WARN y No license field.
+ [email protected]
added 1 package from 2 contributors in 1.004s
y > cat package.json
{
"dependencies": {
"lodash": "^4.17.5"
}
}
No sé cuál usar :( Yarn agregó este comportamiento en algún momento de 2017 y luego lo rompió en silencio. Npm afirma tenerlo cuando tampoco funciona.
@kittens Vuelve a abrir este problema.
como dice @octref yarn upgrade
actualiza las dependencias a su última versión pero no sobrescribe el package.json
. yarn add <package>
actualizará el paquete a su última versión si ya está instalado y sobrescribirá el package.json
. ¿Hay alguna razón para que yarn upgrade
no sobrescriba el package.json
? Si es así, entonces tal vez se pueda agregar como una bandera a yarn upgrade
.
[email protected]
[email protected]
os: MacOS
leer https://github.com/yarnpkg/yarn/issues/5602#issuecomment -377528617
Una solución alternativa: use
yarn add
lugar deyarn upgrade
.
Funciona de maravilla. Necesita actualizar estas dos páginas de Docs para usar yarn add
lugar de yarn upgrade
.
He estado usando yarn upgrade-interactive --latest
durante bastante tiempo sin ningún problema ...
He estado usando la actualización interactiva de hilo, últimamente durante bastante tiempo sin ningún problema ...
Parece un poco redundante ... ¿Por qué no usar el más fácil de todos estos comandos, yarn add
? Super simple.
@ guylepage3 porque puedo ver qué actualizaciones están disponibles en qué versiones con diferentes
@lehni, entonces la documentación en el sitio web debe reflejar esto y las dos páginas siguientes deben indicar que se debe usar el método yarn upgrade-interactive --latest
.
@ guylepage3 esta conversación no lleva a ninguna parte ni ayuda. Si desea sugerir la actualización de los documentos, podría ser mejor crear un nuevo problema específicamente para eso.
Perdón si te sientes así @alexdevero. Y sí, ya lo hizo si mira arriba ... https://github.com/yarnpkg/yarn/issues/1458#ref -issue-332178362
Esto me ayudó: https://www.npmjs.com/package/syncyarnlock
$ yarn upgrade-interactive && syncyarnlock
Esto no me funciona para los espacios de trabajo de hilo. ¿Alguien puede echar un vistazo?
Comentario más útil
lo mismo aquí con hilo 1.3.2