Yarn: Adicionar um script a package.json chamado "install" cria um loop infinito

Criado em 19 out. 2016  ·  3Comentários  ·  Fonte: yarnpkg/yarn

Você deseja solicitar um _feature_ ou denunciar um _bug_?

Erro

Se o comportamento atual for um bug, forneça as etapas para reproduzi-lo.

Adicione isto ao seu package.json :

  "scripts": {
    "install": "yarn install --ignore-optional",
  },

Corre

yarn install

Qual é o comportamento atual?

> yarn install
yarn install v0.16.0
success Already up-to-date.
$ yarn install --ignore-optional
yarn install v0.16.0
success Already up-to-date.
$ yarn install --ignore-optional
yarn install v0.16.0
success Already up-to-date.
$ yarn install --ignore-optional
yarn install v0.16.0
success Already up-to-date.
$ yarn install --ignore-optional
Terminate batch job (Y/N)?
yarn install v0.16.0
Terminate batch job (Y/N)?
^C

Qual é o comportamento esperado?

Sem loop infinito. Talvez copie o que o Composer faz: emite este aviso:

Um script chamado install substituiria um comando do Composer e foi ignorado

E então continua com o comando embutido.

Mencione seu node.js, yarn e versão do sistema operacional.

Nó: v6.3.1
Fio: 0.16.0
OS: aniversário da Win10

Comentários muito úteis

Honestamente, isso parece um comportamento intencional, não acho que devemos fazer nada explicitamente para detectar um comando yarn install, pois não sabemos a localização do binário original e qualquer detecção será negligente. install é um gancho de script de ciclo de vida válido e o estamos executando corretamente, não há nada sendo ignorado.

Todos 3 comentários

Movendo-se para # 1374

Honestamente, isso parece um comportamento intencional, não acho que devemos fazer nada explicitamente para detectar um comando yarn install, pois não sabemos a localização do binário original e qualquer detecção será negligente. install é um gancho de script de ciclo de vida válido e o estamos executando corretamente, não há nada sendo ignorado.

@kittens Eu estava realmente confuso com sua resposta até que pesquisei "scripts de ciclo de vida npm" e me deparei com isso .

Na verdade, eu não sabia que install era uma coisa especial que estava _suposta_ a ser executada após yarn/npm install - pensei que fosse apenas um script normal. Não sabia que seria disparado automaticamente após yarn install ; Eu só queria executá-lo manualmente por meio de yarn run install .

Nesse caso, isso faz todo o sentido. Desculpe @wyze e @thejameskyle - obrigado por levar meu relatório de problema a sério, mas acho que @kittens está bem aqui. Isso foi devido ao meu próprio mal-entendido. Não acho que você precise tentar detectar essa situação.

Esta página foi útil?
0 / 5 - 0 avaliações