RInno icon indicating copy to clipboard operation
RInno copied to clipboard

nativefier and installer seem to include dependencies twice

Open trybik opened this issue 5 years ago • 5 comments

In the develop branch: nativefier produces .exe which, by size, seem to include the required R packages, and then these are again included in the installer from the bin/ folder.

You do need at least R binary with shiny package (and its dependencies) installed to execute shiny::runApp (so this part has to stay out of the nativifier package). I'm not entirely sure but it might be that all other packages are possibly not necessary in the installer.

trybik avatar Sep 12 '18 09:09 trybik

The nativefier app does seem to just run with everything it needs... it's just a little too magical for me to trust it. Maybe someone can dig into this and figure out why it works and toss out the rest of the framework in its favor?

Dripdrop12 avatar Sep 20 '18 19:09 Dripdrop12

Taking this discussion one step back: why nativerfier and not the electron-packager ?

Context: I've stumbled upon electron-packager based Electron + R setup and I like it mainly because it ships with local R (R-Portable; cf. https://github.com/ficonsulting/RInno/issues/97#issuecomment-420576426 ), but also because it's OS X-ready (which is a different discussion taken focus of RInno package on the Inno Setup). For this discussion, the technical point is that their setup uses electron-packager.

trybik avatar Oct 24 '18 07:10 trybik

From useR: https://youtu.be/ARrbbviGvjc

chasemc avatar Oct 24 '18 10:10 chasemc

@trybik I used nativefier because it was the only way I could figure out how to get it to work, but I agree that a custom Electron build would be nice. Currently, R is running Electron, but a package manager-based solution may need to flip that on its head and have Electron run R.

I think the main benefit of R-Portable is that users will not break their apps if they uninstall R or upgrade it. We've already isolated what the app does so that it will respect their R installations/packages.

I like the possibility of providing a cross-platform option! Very cool guys. I'm listening to the useR presentation now.

Dripdrop12 avatar Oct 29 '18 14:10 Dripdrop12

I've been working with this off and on for the past week. E-packager is fine but it does not provide a means for creating an installer- it only creates a portable executable, to create an installer you would still have to use RInno. Electron-builder does both (but I read that the person that wrote it forked and re-wrote a decent number of dependencies so I would worry about its long-term longevity), I finally landed on Electron-forge . Nativifier seems to package/compile faster but the main.js seems heavy.

chasemc avatar Feb 16 '19 16:02 chasemc