Различное поведение между командой 'npm run' и консолью Windows

Вот странная проблема, которой я страдаю уже несколько дней.

Мне нужно создать упакованный файл asar, сделанный с помощью электронной команды asar, например:

c:/asar pack app app.asar

Это упаковывает мою папку app в упакованный файл app.asar. Это работает хорошо.

Цель

Мне нужно включить эту инструкцию в мой файл сценария package.json, чтобы сгенерировать процесс сборки, объединяющий другие действия.

Эта проблема:

Ну, когда я запускаю эту команду, с помощью сценария package.json, как это c:/npm run create-asar или либо с gulp-asar процесс, он создает файл app.asar, но, кажется, поврежден.

Он не может быть распакован, процесс выдает ошибку и не может быть доступен приложению Electron

введите описание изображения здесь

Я не могу понять, почему.

Я пытался запустить ту же самую команду из консоли, что и в package.json, точно такую ​​же, и обе с результатами выше.

какая разница?

информация о версии

  • нпм: v3.10.6
  • узел: v4.5.0
  • asar: v0.13.0
  • электрон: v1.4.3

1 ответ

Решение

Установите asar локально как зависимость проекта, cd в каталог вашего проекта и запустите:

$ npm install asar --save-dev

Измените свой npm-скрипт на следующий:

"scripts": {
  "create-asar": "node_modules/.bin/asar pack app app.asar"
},

Замечания: asar выполняется через местный node_modules/.bin папка.

Тогда беги $ npm run create-asar и впоследствии проверьте, успешно ли распаковывается.

Другие вопросы по тегам