As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Como lidar com dependências, incompatibilidades e ferramentas
O gerenciamento incorreto de dependências pode levar a falhas de criação e problemas de runtime para aqueles que usam seus esquemas personalizados. Ferramentas e componentes desatualizados podem impedir que os usuários do esquema acessem os recursos e as correções de erros mais recentes. Você pode gerenciar dependências, lidar com incompatibilidades de dependências e atualizar ferramentas e componentes para garantir que todas as dependências usem as mesmas versões de componentes e que os componentes sejam sincronizados.
Tópicos
Adicionar dependências
Como autor do esquema, você talvez precise adicionar pacotes ao seu esquema, como @amazon-codecatalyst/blueprint-component.environments
. Você precisa atualizar o arquivo projen.ts
com esse pacote e, depois, gerar novamente a configuração do seu projeto com o Projenpackage.json
é um arquivo parcialmente pertencente ao modelo do Projen. O Projen reconhece as versões de dependência incluídas no arquivo package.json, mas outras opções precisam se originar do modelo.
Para adicionar uma dependência e atualizar um arquivo projenrc.ts
-
No arquivo
projen.ts
, navegue até a seção deps. -
Adicione a dependência que deseja usar no esquema.
-
Use o comando a seguir para gerar novamente a configuração do projeto:
yarn projen && yarn
Como lidar com incompatibilidades de tipos de dependência
Depois de uma atualização do Yarn
Type 'SourceRepository' is missing the following properties from type 'SourceRepository': synthesisSteps, addSynthesisStep
O erro ocorre devido a uma incompatibilidade de dependências que acontece quando um componente depende de uma versão mais recente de outro componente, mas o componente dependente é fixado em uma versão mais antiga. O erro pode ser corrigido fazendo com que todos os seus componentes dependam da mesma versão para que a versão seja sincronizada entre eles. É melhor manter todos os pacotes fornecidos pelo esquema na mesma versão mais recente (0.0.x
), a menos que você tenha certeza de como está lidando com as versões. O exemplo a seguir mostra como o arquivo package.json
pode ser configurado para que todas as dependências dependam da mesma versão:
... "@caws-blueprint-component/caws-environments": "^0.1.12345", "@caws-blueprint-component/caws-source-repositories": "^0.1.12345", "@caws-blueprint-component/caws-workflows": "^0.1.12345", "@caws-blueprint-component/caws-workspaces": "^0.1.12345", "@caws-blueprint-util/blueprint-utils": "^0.1.12345", ... "@caws-blueprint/blueprints.blueprint": "*",
Depois de configurar as versões para todas as dependências, use o seguinte comando:
yarn install
Uso de yarn e npm
Os esquemas usam Yarn
Se você instalou dependências acidentalmente usando o npm, poderá remover o arquivo package-lock.json
gerado e garantir que seu arquivo .projenrc.ts
esteja atualizado com as dependências necessárias. Você gera novamente a configuração do projeto com o Projen.
Use o seguinte para gerar novamente a partir do modelo:
yarn projen
Depois de verificar se o arquivo .projenrc.ts está atualizado com as dependências necessárias, use o seguinte comando:
yarn
Atualização de ferramentas e componentes
Ocasionalmente, você talvez queira atualizar suas ferramentas e componentes para trazer novos recursos disponíveis. É recomendável manter todos os componentes na mesma versão, a menos que você tenha certeza de como está lidando com as versões. As versões são sincronizadas entre os componentes, portanto, as mesmas versões para todos os componentes garantem a dependência adequada entre eles.
Usar o monorepo do espaço de trabalho do Yarn
Use o seguinte comando para atualizar utilitários e componentes da raiz do repositório de um esquema personalizado:
yarn upgrade @amazon-codecatalyst/*
Use o comando a seguir se não estiver usando um monorepo:
yarn upgrade —pattern @amazon-codecatalyst/*
Outras opções que você pode usar para atualizar ferramentas e componentes:
Use a visualização npm
@caws-blueprint-component/<some-component>
para ter a versão mais recente.Aumente manualmente para a versão mais recente definindo a versão no arquivo package.json e usando o seguinte comando:
yarn
. Todos os componentes e utilitários devem ter a mesma versão.