How do I download a snap file for a specific architecture?

So I have an application using Bosch Rexroth’s new CtrlX Core controller. I developed a Node Red application that works well communicating with the physical controller which is an arm64 architecture. They also have a virtual version of their CtrlX Core controller which is will be great for demoing the software for customers if hardware is unavailable. However, when I tried to install the Node Red snap that I downloaded with my raspberry pi I get an incompatible error. The virtual CtrlX Core is an amd64 architecture. Is there a way to specify which architecture is downloaded when running the “snap download node-red” command?

Try setting this environment variable for your command:

UBUNTU_STORE_ARCH=armhf snap download node-red

:point_up_2: Learned that hidden helper from @ogra :slight_smile:

You can either check if the downloaded revision matches your releases dashboard, or run unsquashfs -l node-red_<rev>.snap | grep arm to check if the downloaded snap file contains your architecture-specific libraries (if it ships them, of course).

2 Likes

Thank you Tobias. That command worked. I was able to download the snaps for amd64 and install them onto the Rexroth Virtual CtrlX Core.

1 Like