2013-11-15 14 views
7

Ho una dipendenza con il pacchetto sqlite3.possono essere aggiunte opzioni alle dipendenze di npm package.json?

Per impostazione predefinita, al momento dell'installazione, il pacchetto sqlite3 scarica e utilizza una versione preconfezionata del motore sqlite3. Questo a volte può essere un problema quando si utilizza le estensioni sqlite3 per cui v'è la possibilità di installarlo con:

npm install --build-from-source --sqlite=/path/to/sqlite sqlite3 

sia "--build-da-source" e "--sqlite" sono opzioni che sono gestiti dal pacchetto sqlite3.

Ora come posso dire a package.json di installare la mia dipendenza con queste opzioni?

con

"dependencies": { 
    "sqlite3": "*" 
} 

ovviamente io ottenere l'equivalente di

npm install sqlite3 

ma non riesco a trovare un modo per forzare le opzioni --build-da-source e --sqlite per il pacchetto sqlite3

risposta

6

Un'alternativa è utilizzare il membro scripts e impostare lo script di installazione sotto il gancio di preinstallazione o postinstallazione:

"scripts": { 
    "preinstall": "npm install --build-from-source --sqlite=/path/to/sqlite sqlite3" 
}, 
+0

non ideale perché ora "npm shrinkwrap" si interrompe perché sqlite3 non è più considerato una dipendenza da npm; ma accettato perché fa il lavoro durante lo sviluppo. –

+0

nota: "npm shrinkwrap" può essere ingannato aggiungendo la dipendenza nelle dipendenze. Il modulo che sta per le dipendenze preinstallate: non viene reinstallato –

Problemi correlati