Como listar pacotes instalados pelo usuário do npm?


630

Como listar APENAS o pacote instalado pelo usuário npm? Quando eu faço npm -g list, gera todos os pacotes e suas dependências, o que não é o que eu quero.

Respostas:


1247

Isso funciona muito bem também: npm list -g --depth=0

  • npm : a ferramenta de linha de comando do gerenciador de pacotes Nó
  • list -g : exibe uma árvore de cada pacote encontrado nas pastas do usuário (sem a opção -g, ele mostra apenas os pacotes do diretório atual)
  • depth 0 / - depth = 0 : evite incluir as dependências de todos os pacotes na exibição em árvore

Retornar resultado vazio. Minha versão do npm é 3.6.0.
precisa saber é o seguinte

4
Por que a --depth=0opção não é mencionada quando corro npm help ls?
Marecky

Se você instalar seus módulos em outra pasta usando --prefix, precisará adicionar --prefixtambém esse npm listcomando.
Sany Liew

1
Ele também pode ser bom para adicionar | grep -v "duped"para remover as dependências duplicadas na lista
Spencer Pollock

1
funcionou perfeitamente no windows.
sunny prakash

132

Você pode obter uma lista de todos os módulos instalados globalmente usando:

ls `npm root -g`


13
ls -lh `npm root -g`os exibe em uma boa lista.
LanceLafontaine

3
Essa solução é muito mais rápida do que a que foi votada.
DarkNeuron

3
Esta solução é boa, mas npm list -g --depth=0 imprime a versão que é boa. De qualquer forma, eu não sabia sobre esse comando, então marque com +1 isso.
pixel de 67

3
npm root -g | gciem Powershell no Windows
Lars

1
isso não funciona para módulos com escopo definido #
Franz Sittampalam

113

Em 13 de dezembro de 2015

ilustração da lista de NPM

Embora eu ache a resposta aceita 100% correta e útil, desejei expandi-la um pouco com base em minhas próprias experiências e, esperançosamente, em benefício de outras pessoas. (Aqui estou usando os termos pacote e módulo de forma intercambiável)

Em resposta à pergunta, sim, a resposta aceita seria:

npm list -g --depth=0

Você pode procurar um módulo específico instalado globalmente nos sistemas * nix / quando grep disponível. Isso é particularmente útil ao verificar qual versão de um módulo você está usando (instalado globalmente, basta remover o sinalizador -g se estiver verificando um módulo local):

npm list -g --depth=0 | grep <module_name>

Se você deseja ver todas as versões (remotas) disponíveis para um módulo específico, faça:

npm view <module_name> versions

Observe que as versões são plurais. Isso fornecerá a lista completa de versões para você escolher.

Para a versão remota mais recente:

npm view <module_name> version  

Observe que a versão é singular.

Para descobrir quais pacotes precisam ser atualizados, você pode usar

npm outdated -g --depth=0

Para atualizar pacotes globais, você pode usar

npm update -g <package>

Para atualizar todos os pacotes globais, você pode usar:

npm update -g

(No entanto, para versões npm menores que 2.6.1, consulte também este link, pois há um script especial recomendado para atualizar globalmente todos os pacotes).

Os comandos acima devem funcionar nas versões 1.3.x, 1.4.x, 2.xe 3.x do NPM


Para atualizar um pacote global específico: npm update -g <package>. Eu acredito que updateé preferível installaqui porque o npm será inteligente e fará a instalação somente se o pacote especificado estiver desatualizado.
Robin A. Meade

1
@Talespin_Kit provavelmente screentogif
forresthopkinsa

O @Talespin_Kit ShareX é FANTÁSTICO por criar e compartilhar capturas de tela em gif (e outras capturas de tela).
Aaron Sino


20

Para dependências do projeto, use:

npm list --depth=0

Para dependências globais, use:

npm list -g --depth=0

17
npm ls

npm list é apenas um apelido para npm ls

Para informações estendidas, use

npm la    
npm ll

Você sempre pode definir --depth=0no final para obter o primeiro nível em profundidade.

npm ls --depth=0

Você pode verificar os pacotes de desenvolvimento e produção.

npm ls --only=dev
npm ls --only=prod

Para mostrar as informações no jsonformato

npm ls --json=true

O padrão é false

npm ls --json=false

Você pode insistir no formato longo para mostrar informações estendidas.

npm ls --long=true

Você pode mostrar uma saída analisável em vez da exibição em árvore.

npm ls --parseable=true

Você pode listar pacotes no prefixo de instalação global em vez de no projeto atual.

npm ls --global=true
npm ls -g // shorthand

A documentação completa pode ser encontrada aqui .


8

O nó tem um conceito de módulos locais e módulos globais

Os módulos locais estão localizados no diretório atual do projeto.

Os módulos globais geralmente estão localizados no diretório inicial do usuário, embora possamos mudar o caminho em que os módulos globais residem.

  1. Lista os módulos locais no diretório atual: npm list
  2. Lista módulos globais: npm list --globalOR npm list --g // Ele listará todos os módulos de nível superior com suas dependências
  3. Listar apenas módulos globais de nível superior (Módulos instalados): npm list -g --depth=0

7

Uma maneira pode ser encontrar o diretório raiz dos módulos usando:

npm root
/Users/me/repos/my_project/node_modules

E, em seguida, liste esse diretório ...

ls /Users/me/repos/my_project/node_modules
grunt                   grunt-contrib-jshint

Os pacotes instalados pelo usuário neste caso são grunt e grunt-contrib-jshint


1
Por que não usar o comando npm interno oficial? npm list -g --depth=0
Kukks

Desta forma, pode ajudar o desenvolvedor entender o que está acontecendo sob o capô
obimod

1
Isso não é 100% correto. Quando executo o comando, npm root ele diz: o Users/me/node_modules que não está correto. Meu node_modules mora em outro lugar. Eu acho que depende de como você instala o nó. Eu uso brewpara instalar meu software. Eu estou supondo que isso é se você instalar o nó do site deles usando o instalador de pacotes?
pixel de 67

Eu acho que depende das suas variáveis ​​de ambiente. Confira os Vars $ NPM ... definidos no seu ambiente. Eu tenho uma configuração personalizada, usando virtualenv e o gancho de ativação para reescrever completamente $ PATH do zero, dependendo do que o projeto usa.
obimod

2
Para mim, meu npm quebrou, então não pude usar os comandos. Como eu queria fazer uma reinstalação completa, precisava saber quais pacotes eu havia instalado globalmente para reconstruir.
Bryjohns


5

Eu uso npm -g outdated --depth=0para listar versões desatualizadas
no espaço global.


3

Node_modules contém pacotes instalados pelo usuário, portanto, altere o diretório para node_modules e liste os itens. Módulos principais são definidos na origem do nó na lib/pasta

Example:

     example@example:~/:~/node_modules$ ls
     express  maxmind-native  node-whois  socket.io  ua-parser-js
     geoip    mongoskin       pdfkit      tail       zeromq
     maxmind  nodemailer      request     ua-parser  zmq


2

Use npm liste filtre por contém usandogrep

Exemplo:

npm list -g | grep name-of-package

2

Como abreviação, você pode executar:

npm ls -g --depth=0

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.