Como instalo o pacote.dependências de json na pasta actual usando o npm
tenho uma aplicação web: fooapp . Tenho um package.json
na raiz. Quero instalar todas as dependências num node_modules directory
específico. Como faço isto?
O Que Eu quero
Digamos que tenho duas dependências. Quero acabar com uma estrutura de directórios como esta:node_modules/
widgetA
widgetB
fooapp/
package.js
lib
..
O Que Eu recebo
quando corro npm install fooapp/
ouço isto:
node_modules/
fooapp/
node_modules/
widgetA
widgetB
package.js
lib/
..
fooapp/
package.js
lib/
..
O MPN faz uma cópia da minha pasta de aplicações na pasta node_ modules dir e instala os pacotes dentro outro directório do node_ modules.
Entendo que isto faz sentido para instalar um pacote. Mas eu não tenho a minha aplicação web dentro de outra coisa, eu dirijo-a directamente. Estou procurando uma maneira simples de instalar minhas dependências em um diretório de node_ modules específico.2 answers
Em execução:
npm install
De dentro da sua pasta de aplicações (isto é, onde está o pacote.json está localizado) irá instalar as dependências para o seu aplicativo, em vez de instalá-lo como um módulo, como descrito aqui. Estes serão colocados ./ node_ modules em relação ao seu pacote.JSON file (Na verdade é um pouco mais complexo do que isso, então verifique os documentos do MPN aqui).
Você está livre para mover a pasta de node_ modules para a pasta-mãe da sua aplicação, se quiser, porque o node o mecanismo "require" compreende isto. No entanto, se quiser actualizar as dependências da sua aplicação com o install/update, o npm não irá ver as 'node_ modules' realocadas e irá, em vez disso, criar uma nova dir, novamente em relação ao pacote.json.
Para evitar isto, basta criar uma ligação simbólica para os modelos node_ relocalizados a partir da sua aplicação dir:
ln -s ../node_modules node_modules
No meu caso, preciso de fazer
sudo npm install
O meu projecto está dentro do /var / www, por isso também preciso de definir as permissões adequadas.