Yarn: Yarn global não detecta licença em package.json

Criado em 4 jul. 2017  ·  21Comentários  ·  Fonte: yarnpkg/yarn

Você quer solicitar um recurso ou relatar um bug ?
Erro

Qual é o comportamento atual?
A instalação de pacotes globais nem sempre detecta o campo de licença.

Se o comportamento atual for um bug, forneça as etapas para reproduzir.

yarn global add xo
➜  agenda git:(feature/update_dev_deps) ✗ yarn global add xo          
yarn global v0.27.5
warning package.json: No license field
warning No license field
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "[email protected]" with binaries:
      - xo
warning No license field
Done in 47.10s.
➜  agenda git:(feature/update_dev_deps) ✗ which xo
/usr/local/bin/xo
➜  agenda git:(feature/update_dev_deps) ✗ realpath /usr/local/bin/xo
/Users/xo/.config/yarn/global/node_modules/xo/cli.js
➜  agenda git:(feature/update_dev_deps) ✗ cat /Users/xo/.config/yarn/global/node_modules/xo/package.json | grep license
  "license": "MIT",

Qual é o comportamento esperado?
Para instalar sem um aviso sobre licença ausente.

Mencione seu node.js, yarn e versão do sistema operacional.
Nó: v8.1.3
Fio: 0,27,5
SO: macOS Sierra 10.12.3 (16D32)

cat-bug good first issue triaged

Comentários muito úteis

@ tony-kerz Eu estava recebendo este aviso quando tinha um package.json no meu diretório raiz Projects (por exemplo, Projects/my-package ). Devo ter executado acidentalmente yarn naquele diretório uma vez, mas excluir esse arquivo fez com que os avisos desaparecessem

Todos 21 comentários

Tentei depurar isso, e parece que o que o Yarn está reclamando não é a licença do pacote xo , mas a licença do arquivo package.json do usuário. Quando yarn global é usado, o yarn mantém um package.json com todos os pacotes que o usuário instalou globalmente listados como dependências. No momento, o meu é mais ou menos assim:

{
  "dependencies": {
    "create-react-app": "^1.3.1",
    "typescript": "^2.3.2",
    "xo": "^0.18.2"
  }
}

Esses 3 são os únicos pacotes que instalei globalmente em meu sistema. Como você pode ver, este arquivo não tem licença, nem mesmo um nome, por isso é lançado um aviso. Talvez a função validate em normalize-manifest pudesse receber um parâmetro extra para pular esta verificação ao executar yarn global .

Talvez a função validate em normalize-manifest possa receber um parâmetro extra para pular essa verificação ao executar yarn global.

@bestander @arcanis Acho que esse é o caminho a percorrer. O que você acha?

@BYK @kaylieEB Parece que isso pode ser fechado a la # 3921

Obrigado @olingern !

Isso ainda está acontecendo, embora v1.2.1

estranho, estou conseguindo:

yarn install v1.2.1
warning ../package.json: No license field

mas em package.json :

  "license": "MIT",

@ tony-kerz Eu estava recebendo este aviso quando tinha um package.json no meu diretório raiz Projects (por exemplo, Projects/my-package ). Devo ter executado acidentalmente yarn naquele diretório uma vez, mas excluir esse arquivo fez com que os avisos desaparecessem

@chrisdothtml era totalmente isso, cara!

Preciso manter o package.json na raiz do meu aplicativo react-native.

Como desligar este aviso neste caso?

@realtebo Se você não pretende publicá-lo como um pacote, basta definir "private": true . Isso deve desativar o aviso

Obrigado, @chrisdothtml . Já fiz isso, mas nada muda.

@realtebo Quando você tem um package.json ou yarn.lock na raiz do sistema, apenas cd ~ , então você pode encontrar package.json & yarn.lock . Você deve excluir esses arquivos para que os avisos desapareçam.

@iTonyYo : Não estou mais na situação que relatei há alguns meses, então não posso tentar nada.

Mas gostei da sua resposta e colei o link no meu painel pessoal, no futuro vou encontrá-lo como primeiro resultado antes que o sistema vá para o google para pesquisar.

Este problema foi resolvido, mas o problema não foi corrigido. Por que o yarn está procurando a estrutura do diretório quando já encontrou o arquivo package.json no diretório atual? É bastante comum que projetos existam dentro de outros projetos enquanto em estado de desenvolvimento, especialmente usando gitmodules.

Por que o yarn está procurando a estrutura do diretório quando já encontrou o arquivo package.json no diretório atual?

O problema descrito anteriormente era que não havia package.json no diretório atual iirc. Você pode querer abrir um novo problema (com etapas de reprodução precisas, por favor).

@chrisdothtml packagge.json não deve ser removido de seu projeto porque quando você trabalha com um sistema subversion, o usuário que irá clonar seu repositório não será capaz de instalar as dependências.

Billal Begueradj

@ tony-kerz Eu estava recebendo este aviso quando tinha um package.json no meu diretório raiz Projects (por exemplo, Projects/my-package ). Devo ter executado acidentalmente yarn naquele diretório uma vez, mas excluir esse arquivo fez com que os avisos desaparecessem

Isso funcionou perfeitamente, eu estava mexendo em instalar / reinstalar o nó do outro e esqueci que não limpei depois de mim.

@ tony-kerz Eu estava recebendo este aviso quando tinha um package.json no meu diretório raiz Projects (por exemplo, Projects/my-package ). Devo ter executado acidentalmente yarn naquele diretório uma vez, mas excluir esse arquivo fez com que os avisos desaparecessem

apenas informações adicionais, removi package.json e yarn.lock dos diretórios pais também, diretórios não eram projetos, não sei como eles aparecem lá)))

Eu enfrentei o mesmo problema, ou seja
$ yarn babel
yarn run v1.21.1

Como eu supero isso?

PS C:\Users\admin\Desktop\aulinhas\chat-react> create-react-app front

Creating a new React app in C:\Users\admin\Desktop\aulinhas\chat-react\front.

warning ..\..\..\..\package.json: No license field
Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts with cra-template...

yarn add v1.22.4
warning ..\..\..\..\package.json: No license field 

...

:(

@iTonyYo Obrigado, funciona.

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