2017-02-16 95 views
0

這是我忍受了幾天的奇怪問題。'npm run'命令和windows控制檯之間的不同行爲

我需要創建一個ASAR打包文件,與電子做「ASAR」命令,就像這樣:

c:/asar pack app app.asar 

這包我的「應用程序」文件夾到壓縮文件「應用.asar」。那運行正常。

我需要包括我的package.json腳本文件中該指令以產生一個構建過程,chainning其他行動的目標。

問題:

好吧,當我運行此命令,通過的package.json這樣的腳本c:/npm run create-asar或任一個gulp-asar過程中,它會創建app.asar文件,但似乎是損壞

它不能被解開,工藝拋出一個錯誤,無法通過電子應用

enter image description here

我想不通爲什麼來訪問。

我試着從控制檯運行完全相同的命令,在package.json中,完全一樣,都與上述結果。

有什麼區別

版本信息

  • NPM:v3.10.6
  • 節點:V4.5.0
  • ASAR:v0.13.0
  • 電子:1.4.3
+0

也許你遇到問題沒有。 [74](https://github.com/electron/asar/issues/74)有關早期版本中找到的_multibyte characters_。嘗試將[asar](https://github.com/electron/asar)更新爲新版本。該問題已在版本[0.12.3](https://github.com/electron/asar/blob/master/CHANGELOG.md#0123---2016-08-29)中修復。或者,如果更新不可行,則檢查文件名/內容中的任何_multibyte個字符,並在初始打包之前更改它們。 – RobC

+0

我會嘗試更新一些軟件包,我使用v0.13在asar上,但我會看看它。 –

+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並隨後檢查它是否成功解包。

+0

工作,所以它可能與另一個軟件包或全局安裝的軟件包有關。謝了哥們。 –