O npm não consegue encontrar o package.json

153

Estou tentando instalar as dependências de algum exemplo: npm express 2.5.8que baixei, mas todos os aplicativos lançam o mesmo erro:

c:\node\stylus>npm install -d
npm info it worked if it ends with ok
npm info using npm@1.1.1
npm info using node@v0.6.11
npm ERR! Couldn't read dependencies.

npm ERR! Error: ENOENT, no such file or directory 'c:\node\stylus\package.json'
npm ERR! You may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>
npm ERR!
npm ERR! System Windows_NT 6.1.7600
npm ERR! command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program File
s (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-d"
npm ERR! cwd c:\node\stylus
npm ERR! node -v v0.6.11
npm ERR! npm -v 1.1.1
npm ERR! path c:\node\stylus\package.json
npm ERR! code ENOENT
npm ERR! message ENOENT, no such file or directory 'c:\node\stylus\package.json'

npm ERR! errno {}
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     c:\node\stylus\npm-debug.log
npm not ok

O bloqueio parece ser:

nenhum arquivo ou diretório 'c: \ node \ stylus \ package.json

Perdi um passo que cria o package.json?

Estou correndo:

  • Windows 7 de 64 bits
  • npm 1.1.1
  • nó 6.11
  • express 2.5.8
imjp
fonte
Como você baixou os pacotes? Você pode instalá-los da maneira usual (ou seja, com npm install <package>?
Linus Thiel
Eu não tentei isso, porque não sei exatamente quais pacotes são usados ​​nos aplicativos. Como posso descobrir isso para tentar instalá-los manualmente?
Imjp>
1
npm view <package>irá mostrar o package.jsonjunto com as dependências. Além disso, npm helpé seu amigo.
Linus Thiel
Fiz o check-out do arquivo do pacote, npm view packagemas recebo este erro: i.imgur.com/AwGHu.gif . Estou tentando fazer com que alguns deles funcionem: github.com/visionmedia/express/tree/2.x/examples
imjp
2
Hmmm ... <package>foi concebido como um exemplo. Tente por exemplo npm view stylus.
Linus Thiel

Respostas:

92

Atualização 2018

Isso está se tornando uma pergunta bastante popular e minha resposta (embora marcada como correta) não é mais válida. Consulte a resposta do Deepali abaixo:

npm init

Resposta desatualizada original

Eu acho que você esqueceu de configurar o diretório para express:

express <yourdirectory>

Depois de fazer isso, você poderá ver vários arquivos, em seguida, execute o comando:

npm install -d

Saudações.

Aldo
fonte
2
e onde está express se eu instalei anteriormente com "npm install -g express"?
sports
1
Você precisa executar "npm install -g express-generator" com> Express 4.0.0. Fonte: stackoverflow.com/questions/23002448/express-command-not-found , depois que a ordem expressa pode ser executado
Lucian Depold
Console UBUNTU sugerido sudo apt install node-express-generator... Então, qual o melhor, apt install ou npm install?
22818 Peter Krauss
157

Eu acho que npm initirá criar o seu package.jsonarquivo ausente . Funciona para mim no mesmo caso.

Deepali Agarwal
fonte
83

Serei breve, mas mortal. :) install -d não funcionará para você. É simples. Experimentar

$ npm install -g express
Zoe Marmara
fonte
3
Isso também foi corrigido para mim. Você pode explicar que adicionar expresso comando npm install -gpode ter sido o motivo da mudança repentina no sucesso? Obrigado!
Jake Smith
@ jake-smith Atualizei a resposta com referências aos documentos do npm e alguns exemplos e explicações adicionais que devem ajudar a aumentar a resposta original.
Bryan 'BJ' Hoffpauir Jr.
Obrigado! Eu aprendi um pouco sobre isso desde então e admito que estou envergonhado com essa pergunta. Ri muito.
Jake Smith
1
Bem, após uma análise mais aprofundada, parece que minha edição ainda não foi revisada por pares, portanto, minhas adições não são visíveis. @ Zoe-Marmara, você vê isso na sua própria fila?
Bryan 'BJ' Hoffpauir Jr. 28/03
@ Bryan'BJ'Hoffpauir talvez você devesse adicioná-lo como um comentário ou uma resposta. Sua edição foi rejeitada. Mas é um grande esforço e agradeço muito pelo seu tempo. :)
Zoe Marmara
16

Se o Google "nenhum arquivo ou diretório package.json" o enviou aqui, você pode estar usando uma versão muito antiga do Node.js

A página a seguir tem boas instruções de como instalar facilmente o estábulo mais recente em muitos sistemas operacionais e distribuições:

https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

Gerry
fonte
Estava usando node --version0.10.31 e estava tendo esse problema. Desclassificado para 0.10.29 e ainda não foi resolvido. Parece ser um problema com o instalador do Windows, pois eles também deixaram de criar a C:\Users\User\AppData\Roaming\npmpasta.
Shawn Solomon
8
Eu recebi o erro "não existe esse arquivo ou diretório package.json" ao tentar executar o 'npm install' no tutorial do Angular.js e acabei aqui. Não era óbvio nas instruções que você precisa inserir o código no check-out do tutorial - nesse caso, o package.json está no diretório que você clonou do git na etapa anterior ( docs.angularjs.org/tutorial )
Kevin Hooke
A solução do @ KevinHooke é a resposta para esse problema. A execução do npm -install a partir do diretório do aplicativo clonado resolveu o problema.
Vikram 29/05
8

Use o comando em win7 / win8 / win10 (CD) para mover pastas:

  1. Digite sua pasta de projetos

  2. Corre: npm install -d

Franklin CI
fonte
5

Iniciantes geralmente tentam o comando npm de locais aleatórios. Após o download ou a criação de um projeto, você precisa fazer o cd nessa pasta do projeto. Dentro está o arquivo package.json.

cd <path_to_project>
npm install
Victor1125
fonte
3

tente reinstalar o Node.js

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -

sudo apt-get install -y nodejs

sudo apt-get install -y build-essential

e atualizar npm

curl -L https://npmjs.com/install.sh | sudo sh
lrj
fonte
3

O nó vem com o npm instalado, portanto você deve ter uma versão do npm. No entanto, o npm é atualizado com mais freqüência do que o Node, portanto, verifique se é a versão mais recente.

sudo npm install npm -g

Teste:

npm -v //The version should be higher than 2.1.8

Após isso, você poderá executar:

npm install
Cosimo de 'Medici
fonte
2

Eu tive um problema semelhante com o npm. O problema era que eu tinha o projeto dentro de duas pastas com o mesmo nome. Eu o resolvi renomeando uma das pastas para outra (recomenda-se a pasta externa).

Yipeekiyay
fonte
2

Por si só, diz que package.jsonnão está disponível no seu projeto. Portanto, para criar package.json, use as seguintes etapas:

  1. prompt de comando aberto no diretório do projeto
  2. npm init (ele solicitará que você insira muitas entradas, como nome, versão, descrição, etc., insira alguns valores aleatórios e clique em enter).
  3. digite yese clique em enter

Agora tente novamente.

DEVENDRAN RAJA
fonte
2
npm init -y 

Se usar este comando, ele criará automaticamente o arquivo package.json com todas as informações da sua máquina.

Sagansha San
fonte
1

Meu problema foi que eu não tinha um arquivo package.json por algum motivo. Depois de colocar este arquivo no meu diretório, consegui executar o npm install

https://raw.githubusercontent.com/twbs/bootstrap/master/package.json

PolarisUser
fonte
2
Sei que isso é antigo, mas ainda tenho que dizer - isso pode suprimir o erro específico, mas não é o caminho certo para lidar com esse problema. Você está baixando o package.json para o Bootstrap, um projeto completamente diferente do seu.
Sam Hanley
1

Obrigado! Eu também tentei muitas opções para isso. Também estou usando o Windows. Este comando ajudou e economizou meu tempo:

npm install -g npm@lts
bhattraideb
fonte
1

Pode ser muito evidente,
mas tente iniciar CMD(para Windows) a partir da pasta do projeto , onde está localizado o arquivo package.json .

Não inicie CMDdo sistema ou da "barra de pesquisa" no Win ou
vá para a pasta do projeto com a ajuda do cdcomando e, em seguida, inicie npm start.

rock_walker
fonte
1

ok, tente ir para a página inicial "user @ user: ~ $" (cd + tecla enter) e npm install -g your your_module.

sergioAJ
fonte
1

Vá para a pasta do projeto e verifique se o arquivo package.json existe.

Se você estiver criando o projeto usando o projeto Angular do Visual Studio, execute este comando dentro da Pasta ClientApp. existe uma boa chance de você procurar o arquivo project.json fora da pasta ClientApp.

Arunagirirajah Nirooshan
fonte
Isto somente aconteceu para mim. Eu queria responder, mas como você já tem, aceite meu voto positivo: p
Aimal Khan
1

se o arquivo package.json no diretório do projeto estiver ausente, você poderá criá-lo pelo npm init .

se o arquivo package.json já estiver criado no diretório do projeto, é possível que você não esteja executando seu projeto a partir do caminho certo. Use cdyour-project-path no terminal e execute seu projeto a partir daí.

zernab hussain
fonte
0

Para o seguinte comando

sudo npm install react browserify watchify babelify --save-dev

Eu tenho o mesmo erro

saveError ENOENT: não existe esse arquivo ou diretório, abra '/Users/Path/package.json'

Mas quando eu executo o comando

sudo npm install -gd react browserify watchify babelify --save-dev

nenhuma mensagem de arquivo ou diretório ausente apareceu.

zeeawan
fonte
0

Corri npm install -ypara pular a etapa da pergunta para criar o arquivo ausente package.json, ysignifica sim

Java Basketball
fonte
0

Eu também estava enfrentando o mesmo problema ao instalar o texto datilografado. Acabei de inicializar um arquivo package.josn pelo seguinte comando

npm init -y

E então eu instalei meu texto datilografado

npm install -g -typescript

http://blossomprogramming.blogspot.com/

Gagandeep Singh
fonte
0

basta instalar qualquer pacote que desejar -g

npm install -g express

prosper1
fonte
0

Verifique o diretório ou a pasta em que você está instalando seu novo pacote. Isso aconteceu comigo também. Meu projeto inteiro estava em um subdiretório e eu estava tentando instalar no diretório principal. Depois de verificar tudo, descobri que precisava instalar no subdiretório onde estão meus arquivos de projeto e arquivos package.json e pronto. Espero que isto ajude...

Jagadish Meghval
fonte
-1

Gere o package.json sem que ele faça perguntas. Eu executei o comentário abaixo no Mac e Windows no diretório que gostaria de criar package.json e funciona

$ npm init -y

Wrote to C:\workspace\package.json:

{
  "name": "workspace",
  "version": "1.0.0",
  "description": "",
  "main": "builder.js",
  "dependencies": {
    "jasmine-spec-reporter": "^4.2.1",
    "selenium-webdriver": "^4.0.0-alpha.5"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}
ecamur
fonte
-2

A adição de -g antes do nome do pacote funcionou para mim. Procurando documentação para explicar por que isso funciona ..

Corey Byrum
fonte