請幫我理解如何爲Electron 1.6.2重建本地npm模塊?如何爲電子重建原生npm模塊?
我使用https://electron.atom.io/docs/tutorial/quick-start中的步驟來創建一個簡單的Electron應用程序。
然後我安裝了ref包並將其加載到main.js中。
ref包 - 它是本地包。我必須重建這個包才能在Electron應用程序中使用它。
我用下面的教程重建天然包 - https://github.com/electron/electron/blob/master/docs/tutorial/using-native-node-modules.md
有3種方法如何重建天然NPM包:
1)「安裝的模塊和使用電子重建重建爲電子」 :
我安裝了electron-rebuild npm包。
然後,根據教程中,我只需要下面的命令來運行:
\ node_modules.bin \電子rebuild.cmd
但電子重建試圖下載https://atom.io/download/electron/v1.6.2/iojs-v1.6.2.tar.gz
爲什麼下載的東西從https://atom.io/download/electron如果電子發佈文件位於這裏 - https://github.com/electron/electron/releases?
Electron 1.6.2僅在幾周前發佈,但iojs-v1.6.2.tar.gz於2015年3月發佈。
我是否正確理解電子重建下載錯誤的文件?
2)使用node-gyp手動構建Electron包裝。
組HOME =%USERPROFILE%/。電子GYP
CD ./node_modules/ref
節點-GYP重建--target = 1.6.2 --arch = 64 --dist-URL = https://atom.io/download/electron
而這裏dist-url使用https://atom.io/download/electron。
爲什麼?
我試過不用--dist-url。
但是,在這種情況下,節點GYP下載以下文件:
GYP HTTP GET https://iojs.org/download/release/v1.6.2/iojs-v1.6.2.tar.gz
GYP HTTP 200 https://iojs.org/download/release/v1.6.2/iojs-v1.6.2.tar.gz
GYP HTTP GET https://iojs.org/download/release/v1.6.2/SHASUMS256.txt
GYP HTTP GET https://iojs.org/download/release/v1.6.2/win-x64/iojs.lib
GYP HTTP GET https://iojs.org/download/release/v1.6.2/win-x86/iojs.lib
GYP HTTP 200 https://iojs.org/download/release/v1.6.2/SHASUMS256.txt
gyp http 200 https://iojs.org/download/release/v1.6.2/win-x64/iojs.lib
gyp http 200 https://iojs.org/download/release/v1.6.2/win-x86/iojs.lib
它是正確的嗎?
3)使用npm重建本地包:
rem#電子版本。
set npm_config_target = 1.6.2
rem#Electron的體系結構,可以是ia32或x64。
set npm_config_arch = x64
set npm_config_target_arch = x64
rem#下載Electron的標題。
rem set npm_config_disturl = https://atom.io/download/electron
rem#告訴node-pre-gyp我們正在爲Electron構建。
set npm_config_runtime = electron
rem#告訴node-pre-gyp從源代碼構建模塊。
set npm_config_build_from_source = true
rem#安裝所有依賴關係,並將緩存存儲到〜/ .electron-gyp。
集HOME =%USERPROFILE.electron-GYP
NPM安裝
再次https://atom.io/download/electron。
爲什麼?
有誰知道如何正確地重建Electron 1.6.2的ref本機包?
這裏沒有問題,dist URL是正確的。這是發佈鏡像/託管的地方 – MarshallOfSound
@MarshallOfSound我不明白。 Electron 1.6.2於15天前發佈。 https://iojs.org/download/release/v1.6.2/iojs-v1.6.2.tar.gz創建於2年前 - 23-Mar-2015。 爲什麼電子重建使用非常古老的iojs-v1.6.2.tar.gz來用新的Electron 1.6.2重建本地npm包? –
它並沒有,由於遺留構建系統工作的方式,在這種情況下,1和3之間的任何節點版本1.6.2被認爲是iojs。這就是node-gyp的編寫方式,因此電子文件的名稱會以這種方式工作 – MarshallOfSound