2013-11-15 7 views
7

Ich habe eine Abhängigkeit mit dem SQLite3-Paket.können Optionen zu npm package.json Abhängigkeiten hinzugefügt werden?

Standardmäßig lädt das sqlite3-Paket bei der Installation eine vorinstallierte Version der sqlite3-Engine herunter und verwendet sie. Dies kann manchmal ein Problem sein, wenn sqlite3 Erweiterungen so eine Option ist, es zu installieren mit:

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

beide „--build-from-source“ und „--sqlite“ sind Optionen, die durch die behandelt werden sqlite3 Paket.

Nun, wie kann ich package.json sagen, um meine Abhängigkeit mit diesen Optionen zu installieren?

mit

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

offensichtlich bekomme ich das Äquivalent zu

npm install sqlite3 

aber ich kann nicht einen Weg zu zwingen, die --build-von-Quelle und --sqlite Optionen für das sqlite3-Paket finden

Antwort

6

Eine Alternative besteht darin, das Element scripts zu verwenden und das Installationsskript unter dem Preinstall- oder Postinstall-Hook einzurichten:

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

nicht ideal, weil jetzt "npm shrinkwrap" abstürzt, weil sqlite3 nicht mehr als Abhängigkeit von npm betrachtet wird; aber akzeptiert, weil es die Arbeit während der Entwicklung macht. –

+0

Hinweis: "Npm Shrinkwrap" kann ausgetrickst werden, indem Abhängigkeiten in Abhängigkeiten hinzugefügt werden. Das Modul ist vorinstalliert, Abhängigkeiten: wird nicht neu installiert –

Verwandte Themen