搜尋

首頁  >  問答  >  主體

node.js - nodejs 的 package.json 可以設定linux平台不安裝某個依賴嗎?

例如我想mac、win都裝某個模組,在linux平台不安裝某個模組,要如何設定?可以實現嗎?


補充

我最後發現用shell腳本可以完成

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


echo "正在安装 async ……"
npm install async@2.0.1
echo "async 安装完成"
某草草某草草2828 天前631

全部回覆(2)我來回復

  • 天蓬老师

    天蓬老师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 了

    回覆
    0
  • 某草草

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

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

    在 optionalDependencies 註明就好了

    回覆
    0
  • 取消回覆