2017-01-21 10 views
1

私はWindowsで動作するMac OSでコード化されたプロジェクトを作成しようとしており、Electronを使用しています。Windows上で電子を実行する

node node_modules\.bin\electron 

、それは動作しません:

module.js:471 
    throw err; 
    ^

Error: Cannot find module './' 
    at Function.Module._resolveFilename (module.js:469:15) 
    at Function.Module._load (module.js:417:25) 
    at Module.require (module.js:497:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (C:\Users\pupeno\Documents\ProjectX\node_modules\.bin\electron:3:16) 
    at Module._compile (module.js:570:32) 
    at Object.Module._extensions..js (module.js:579:10) 
    at Module.load (module.js:487:32) 
    at tryModuleLoad (module.js:446:12) 
    at Function.Module._load (module.js:438:3) 

のWebPACKはその方法で動作します。私はこのようにそれを実行してみました

>node .\node_modules\.bin\webpack --version 
Hash: a9840b6c5503dc0a037c 
Version: webpack 1.13.3 

任意のアイデアエレクトロンの問題点は何だと/またはそれを修正する方法?スクリプトはこれを含んでいます

#!/usr/bin/env node 

var electron = require('./') 

var proc = require('child_process') 

var child = proc.spawn(electron, process.argv.slice(2), {stdio: 'inherit'}) 
child.on('close', function (code) { 
    process.exit(code) 
}) 

答えて

1

あなたがそうのようにWindows上で電子を実行することができます:あなたはMacOSのとWindowsの両方で開発したいので、あなたは自分のpackage.jsonにNPMスクリプトを追加する必要があります、しかし

> node_modules\.bin\electron.cmd 

"scripts": { 
    "app": "electron ." 
} 

その後、あなたはどのOS上でそれを実行するために、同じコマンドを使用することができます。

> npm run app 
0

問題は、MacからWin 10マシンに自分のコードをコピーしたときにコミットしたくない変更が残っていたため、node_modulesもコピーしていたので、Mac/Linux/Unix .binにプレーンな名前を持ち、正しいインタープリターを呼び出すためにシバンを使用するファイルを含むもの。

node_modulesを削除して、.binに再インストールすると、それらのプレーンな名前のファイルだけでなく、.cmdファイルも取得されます。

@IF EXIST "%~dp0\node.exe" (
    "%~dp0\node.exe" "%~dp0\..\electron\cli.js" %* 
) ELSE (
    @SETLOCAL 
    @SET PATHEXT=%PATHEXT:;.JS;=;% 
    node "%~dp0\..\electron\cli.js" %* 
) 
:electron.cmdは次のようになりながら

#!/bin/sh 
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 

case `uname` in 
    *CYGWIN*) basedir=`cygpath -w "$basedir"`;; 
esac 

if [ -x "$basedir/node" ]; then 
    "$basedir/node" "$basedir/../electron/cli.js" "[email protected]" 
    ret=$? 
else 
    node "$basedir/../electron/cli.js" "[email protected]" 
    ret=$? 
fi 
exit $ret 

:平野電子はこのようになります

関連する問題