suchen

Heim  >  Fragen und Antworten  >  Hauptteil

node.js – Kann die package.json von nodejs die Linux-Plattform so einstellen, dass eine bestimmte Abhängigkeit nicht installiert wird?

Zum Beispiel möchte ich ein bestimmtes Modul sowohl auf Mac als auch auf Win installieren, aber nicht auf der Linux-Plattform. Wie richte ich es ein? Ist es möglich?


Ergänzung

Ich habe endlich herausgefunden, dass es mit einem Shell-Skript möglich ist

#!/bin/bash
echo "正在安装 electron ……"
npm install electron-prebuilt@1.2.1
echo "electron 安装完成"


echo "正在安装 async ……"
npm install async@2.0.1
echo "async 安装完成"
某草草某草草2779 Tage vor596

Antworte allen(2)Ich werde antworten

  • 天蓬老师

    天蓬老师2017-05-16 13:39:43

    package.json能不能我不清楚,但是用脚本实现啊。

    // index.js
    const exec = require('child_process').exec
    
    const platform = process.platform;
    
    switch(platform) {
    case 'darwin':
      // mac
      break;
    case 'linux': 
      exec('npm install XXX')
      break;
    case 'win32':
      break;
    }

    node index.js 就可以安装 XXX 了

    Antwort
    0
  • 某草草

    某草草2017-05-16 13:39:43

    https://docs.npmjs.com/files/...

    在 optionalDependencies 注明就好了

    Antwort
    0
  • StornierenAntwort