2016-08-16 1 views
1

ich die „msnodesqlv8“ bin mit: „0.2.3“ NPM-Paket für meine app einige MSSQL-Skripte unter Windows, aber auf dem Mac laufen kann ich nicht alle anderen Pakete aufgrund dieses Fehlers installieren:Wie kann ich meine package.json so konfigurieren, dass bestimmte Pakete nur unter Windows installiert werden?

Macbook-Pro jeremy$ npm install 
npm ERR! Darwin 15.5.0 
npm ERR! argv "/Users/jeremy/.nvm/versions/node/v6.1.0/bin/node" "/Users/jeremy/.nvm/versions/node/v6.1.0/bin/npm" "i" 
npm ERR! node v6.1.0 
npm ERR! npm v3.8.6 
npm ERR! code EBADPLATFORM 

npm ERR! notsup Not compatible with your operating system or architecture: [email protected] 
npm ERR! notsup Valid OS: win32 
npm ERR! notsup Valid Arch: any 
npm ERR! notsup Actual OS: darwin 
npm ERR! notsup Actual Arch: x64 

npm ERR! Please include the following file with any support request: 
npm ERR!  /Users/jeremy/code/lyfeboat/mitchell-sql-feathers/npm-debug.log 

Gibt es eine Möglichkeit, meine package.json so zu konfigurieren, dass dieses Paket auf allen Nicht-Windows-Systemen ignoriert wird?

+0

Eine Abhilfe natürlich ist das Paket von package.json zu entfernen, speichern und Führen Sie npm install aus. Im Idealfall wäre ich in der Lage, meine package.json zu reparieren, so dass diese Problemumgehung nicht benötigt wird. –

Antwort

1

Ich bin mir nicht sicher, ob es einen besseren Weg gibt, aber ich war in der Lage, das gewünschte Verhalten mit der optionalDependencies-Eigenschaft in package.json zu bekommen.

https://docs.npmjs.com/files/package.json#optionaldependencies

Hier ist das Format, das ich verwenden:

... 
"optionalDependencies": { 
    "msnodesqlv8": "0.2.3" 
}, 
... 

Ausgabe als erwartet:

Macbook-Pro jeremy$ npm install 
... 
*installed other packages normally* 
... 
npm WARN optional Skipping failed optional dependency //msnodesqlv8: 
npm WARN notsup Not compatible with your operating system or architecture: [email protected] 
Verwandte Themen