diff --git a/src/common/shell-arduino.js b/src/common/shell-arduino.js index 38ce06ba..b699ec70 100755 --- a/src/common/shell-arduino.js +++ b/src/common/shell-arduino.js @@ -11,13 +11,19 @@ export default class ShellArduino extends Shell { async compile(config) { let arduino = _.merge({}, ARDUINO); arduino = _.merge(arduino, config); + + // 为每个 library 路径生成单独的 --library 参数 + const libraryArgs = arduino.path.libraries + .map(lib => `--library "${lib}"`) + .join(' '); + const command = [ `"${arduino.path.cli}"`, 'compile', '-b', arduino.key, '--config-file', `"${arduino.path.config}"`, '--verbose', - '--libraries', `"${arduino.path.libraries.join('","')}"`, + libraryArgs, '--build-path', `"${arduino.path.build}"`, '--output-dir', `"${arduino.path.output}"`, `"${arduino.path.code}"`, @@ -29,6 +35,12 @@ export default class ShellArduino extends Shell { async upload(config) { let arduino = _.merge({}, ARDUINO); arduino = _.merge(arduino, config); + + // 为每个 library 路径生成单独的 --library 参数 + const libraryArgs = arduino.path.libraries + .map(lib => `--library "${lib}"`) + .join(' '); + const command = [ `"${arduino.path.cli}"`, 'compile', @@ -37,7 +49,7 @@ export default class ShellArduino extends Shell { '-b', arduino.key, '--config-file', `"${arduino.path.config}"`, '--verbose', - '--libraries', `"${arduino.path.libraries.join('","')}"`, + libraryArgs, '--build-path', `"${arduino.path.build}"`, '--output-dir', `"${arduino.path.output}"`, `"${arduino.path.code}"`,