Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无效URI:无法分析主机名。电子建设者_Javascript_Node.js_Electron_Electron Builder - Fatal编程技术网

Javascript 无效URI:无法分析主机名。电子建设者

Javascript 无效URI:无法分析主机名。电子建设者,javascript,node.js,electron,electron-builder,Javascript,Node.js,Electron,Electron Builder,我无法使用squirrel构建电子应用程序。虽然Iconur是有效的。 package.json: "squirrelWindows": { "iconUrl": "http://95.85.39.111:5005/skylog.ico" }, 错误: 未处理的异常:System.UriFormatException:无效的URI:无法分析主机名 完整跟踪: Error: Exit code: 4294967295. Command failed: C:\Users\emretekinc

我无法使用squirrel构建电子应用程序。虽然Iconur是有效的。 package.json:

"squirrelWindows": {
  "iconUrl": "http://95.85.39.111:5005/skylog.ico"
},
错误:

未处理的异常:System.UriFormatException:无效的URI:无法分析主机名

完整跟踪:

Error: Exit code: 4294967295. Command failed: 
C:\Users\emretekince\AppData\Local\electron-
builder\cache\Squirrel.Windows\Squirrel.Windows-1.6.0.0\Update.com --
releasify C:\Users\emretekince\Desktop\DCSLogBook\client\dist\win\skylog-
0.1.0-full.nupkg --releaseDir C:
\Users\emretekince\Desktop\DCSLogBook\client\dist\win
2017-07-11 14:17:28> Unhandled exception: System.UriFormatException: Invalid 
URI: The hostname could not be parsed.
at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
at System.Uri..ctor(String uriString)
at NuGet.ManifestMetadata.NuGet.IPackageMetadata.get_ProjectUrl()
at NuGet.LocalPackage.ReadManifest(Stream manifestStream)
at NuGet.ZipPackage.EnsureManifest()
at NuGet.ZipPackage..ctor(String filePath, Boolean enableCaching)
at Squirrel.Update.Program.ReleasifyElectron(String package, String targetDir, String baseUrl)
at Squirrel.Update.Program.executeCommandLine(String[] args)
at Squirrel.Update.Program.main(String[] args)


⚠️  Cannot delete temporary dir "C:\Users\EMRETE~1\AppData\Local\Temp\electron-builder-jyFHH6": Error: ENOTEMPTY: directory not empty, rmdir 'C:\Users\EMRETE~1\AppData\Local\Temp\electron-builder-jyFHH6'
    at Object.fs.rmdirSync (fs.js:851:18)
    at rmkidsSync (C:\Users\emretekince\Desktop\DCSLogBook\client\node_modules\fs-extra\lib\remove\rimraf.js:292:11)
    at rmdirSync (C:\Users\emretekince\Desktop\DCSLogBook\client\node_modules\fs-extra\lib\remove\rimraf.js:281:7)
    at rimrafSync (C:\Users\emretekince\Desktop\DCSLogBook\client\node_modules\fs-extra\lib\remove\rimraf.js:252:7)
    at process.cleanup (C:\Users\emretekince\Desktop\DCSLogBook\client\node_modules\electron-builder-util\src\tmp.ts:36:13)
    at emitOne (events.js:120:20)
    at process.emit (events.js:210:7)
    at process.emit (C:\Users\emretekince\Desktop\DCSLogBook\client\node_modules\source-map-support\source-map-support.js:430:21)
    at process.exit (internal/process.js:154:15)
    at printErrorAndExit (C:\Users\emretekince\Desktop\DCSLogBook\client\node_modules\electron-builder-util\src\promise.ts:5:11)
    at tryCatcher (C:\Users\emretekince\Desktop\DCSLogBook\client\node_modules\bluebird\js\release\util.js:16:23)
    at Promise._settlePromiseFromHandler (C:\Users\emretekince\Desktop\DCSLogBook\client\node_modules\bluebird\js\release\promise.js:512:31)
    at Promise._settlePromise (C:\Users\emretekince\Desktop\DCSLogBook\client\node_modules\bluebird\js\release\promise.js:569:18)
    at Promise._settlePromise0 (C:\Users\emretekince\Desktop\DCSLogBook\client\node_modules\bluebird\js\release\promise.js:614:10)
    at Promise._settlePromises (C:\Users\emretekince\Desktop\DCSLogBook\client\node_modules\bluebird\js\release\promise.js:689:18)
    at Async._drainQueue (C:\Users\emretekince\Desktop\DCSLogBook\client\node_modules\bluebird\js\release\async.js:133:16)
    at Async._drainQueues (C:\Users\emretekince\Desktop\DCSLogBook\client\node_modules\bluebird\js\release\async.js:143:10)
    at Immediate.Async.drainQueues (C:\Users\emretekince\Desktop\DCSLogBook\client\node_modules\bluebird\js\release\async.js:17:14)

这是一个有效的URL,但处理这些URL的内部逻辑似乎在解析其中的主机名时遇到了问题(因为没有,所以您已经用IP替换了主机名)。一个解决方案可能是向客户提出问题


更好的解决方案可能是从Squirrel迁移,使用electron builder附带的NSIS安装程序。Iirc主要维护者develar提倡使用NSIS而不是Squirrel。根据我的经验,它更干净,更容易使用。在我看来,使用Squirrel的唯一原因是如果您需要与另一个依赖Squirrel的工具集成

您能添加完整的stacktrace吗?@mr.freeze已添加。