Yarn: Solicitação de recurso: pasta node_modules centralizada

Criado em 29 nov. 2016  ·  4Comentários  ·  Fonte: yarnpkg/yarn

Existe uma maneira de instalar todas as dependências npm globalmente (centralmente) para que você não armazene node_modules na pasta do projeto?

Isso está causando problemas, pois o framework que a empresa para a qual trabalho usa é bastante pesado e eu tenho mais de 40 projetos, cada um com sua própria pasta node_modules, empacotada com milhões de arquivos de 1kb.

Isso ocupa uma quantidade surpreendente de espaço precioso em meu SSD e seria muito bom se eu pudesse instalar esses pacotes apenas uma vez, com qualquer package.json de projeto vinculado ao meu repositório local

cat-feature help wanted needs-discussion

Comentários muito úteis

https://github.com/rstacruz/pnpm faz exatamente isso. Usa o recurso de nó --preserve-symlinks .

Todos 4 comentários

@alshdavid coisas que você require são dependências e precisam ser instaladas localmente. módulos globais são para ferramentas de linha de comando não específicas do projeto.

imo, essa não é realmente uma questão de yarn, a menos que yarn forneça uma maneira de criar um link simbólico para módulos globais no diretório local, o que me levou a entender que não funcionaria com o ecossistema npm.

Eu acho que isso seria útil. O problema é que é difícil mudar como as coisas são feitas sem mudar o Node.js, já que o Node.js espera que as coisas sejam feitas de uma maneira particular e os módulos sejam organizados de uma maneira particular. 😞 Também adoraria renomear o diretório de node_modules para outro nome, pois nem todo mundo usa Node.js.

Existem alguns problemas no GitHub em torno de links simbólicos e hardlinks como uma solução potencial para desempenho e espaço em disco - # 499 cobre hardlinks. Os arquivos ainda ocupariam algum espaço no sistema de arquivos. Acho que um sistema de arquivos Copy-on-Write, como BTRFS ou ZFS, ajudaria com isso também, pois os arquivos não seriam realmente copiados e, em vez disso, apenas apontariam para os arquivos originais no diretório de cache.

https://github.com/rstacruz/pnpm faz exatamente isso. Usa o recurso de nó --preserve-symlinks .

O mais próximo disso parece # 499, então estou encerrando este em favor disso.

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

Questões relacionadas

sebmck picture sebmck  ·  3Comentários

chiedo picture chiedo  ·  3Comentários

MunifTanjim picture MunifTanjim  ·  3Comentários

davidmaxwaterman picture davidmaxwaterman  ·  3Comentários

catkins picture catkins  ·  3Comentários