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.

Lolski
fonte

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
aris
fonte
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`

Gil
fonte
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

arcseldon
fonte
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
38

Eu prefiro ferramentas com alguma interface amigável!

Eu usei o npm-guique lhe dá uma lista de pacotes locais e globais

O pacote está em https://www.npmjs.com/package/npm-gui e https://github.com/q-nick/npm-gui

//Once
npm install -g npm-gui

cd c:\your-prject-folder
npm-gui localhost:9000

No seu navegador http:\\localhost:9000

npm-gui

Alireza Fattahi
fonte
como você carrega pacotes instalados globalmente?
Ciasto piekarz
20

Para dependências do projeto, use:

npm list --depth=0

Para dependências globais, use:

npm list -g --depth=0
Karthik damodara
fonte
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 .

prosti
fonte
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
Piyush Sagar
fonte
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

obimod
fonte
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
6

Para ver a lista de todos os pacotes que estão instalados.

$ npm ls --parseable | awk '{gsub(/\/.*\//,"",$1); print}'| sort -u

mostre parseable da lista de pacotes npm https://docs.npmjs.com/cli/ls#parseable

rab
fonte
Isso é ótimo! Como posso apenas mostrar dependências de dev?
Michael Bruce
5

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

pixel 67
fonte
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
Karthick
fonte
3

Você pode tentar o NPM Desktop manager Gerenciador do NPM Desktop

Com apenas um clique, você pode instalar / desinstalar pacotes devou globalstatus.

kant
fonte
2

Use npm liste filtre por contém usandogrep

Exemplo:

npm list -g | grep name-of-package
Darlan Dieterich
fonte
2

Como abreviação, você pode executar:

npm ls -g --depth=0
Mwiza
fonte