'npm run'之间的不同行为命令和Windows控制台

时间:2017-02-16 07:54:05

标签: node.js batch-file npm electron asar

这是一个奇怪的问题,我已经痛苦了好几天。

我需要创建一个 asar 打包文件,完成电子" asar "命令,像这样:

c:/asar pack app app.asar

包装我的" app"将文件夹放入打包文件" app.asar"。多数民众赞成运行。

目标

我需要在 package.json 脚本文件中包含此指令,以便生成构建过程,链接其他操作。

问题:

好吧,当我运行此命令时,通过像这个c:/npm run create-asar的package.json脚本或使用gulp-asar进程运行此命令,它会创建 app.asar 文件,但是似乎已损坏

它无法解压缩,进程会抛出错误,无法通过电子应用访问

enter image description here

我无法弄清楚原因。

我试图从控制台运行完全相同的命令,在package.json中运行完全相同的命令,以及上面的结果。

区别是什么?

版本信息

  • npm:v3.10.6
  • node:v4.5.0
  • asar:v0.13.0
  • 电子:v1.4.3

1 个答案:

答案 0 :(得分:1)

在本地安装asar作为项目依赖项cd到项目目录并运行:

$ npm install asar --save-dev

将您的npm-script更改为以下内容:

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

注意: asar正在通过本地node_modules/.bin文件夹执行。

然后运行$ npm run create-asar,然后检查它是否成功解包。