Please support Bitwarden for arm64 in snap

I am using a Raspberry Pi 4B with Ubuntu 23.10. I am trying to install bitwarden using snap but got the following error message.

$ sudo snap install bitwarden error: snap “bitwarden” is not available on stable for this architecture (arm64) but exists on other architectures (amd64).

$ sudo snap install bw error: snap “bw” is not available on stable for this architecture (arm64) but exists on other architectures (amd64).

Could you please support bitwarden on the arm64 platform?

Hi @fckwan, welcome to Community! :wave:

I checked in with my colleague and they shared that if installing BW CLI on ARM64, you need build-essential and libssl-dev (or maybe just one?) installed in order for npm install -g @bitwarden/cli to work

As far as they knew, npm is the only way to install ARM64. (note this assume you’re using the CLI)

I hope this helps, but let me know if you have any other issues and I can circle back. :+1:

I have build-essential and libssl-dev installed on my Ubuntu 23.10

When I run the
npm install -g @bitwarden/cli
(⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂) ⠴ idealTree:lib: sill idealTree buildDeps
npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY
npm ERR! errno UNABLE_TO_GET_ISSUER_CERT_LOCALLY
npm ERR! request to https://registry.npmjs.org/@bitwarden%2Fcli failed, reason: unable to get local issuer certificate

npm ERR! A complete log of this run can be found in:
npm ERR! ~/.npm/_logs/2024-02-12T15_59_56_128Z-debug-0.log

hey @fckwan, I spun up a VM (ubuntu-23.10-live-server-arm64) to double-check what you’re seeing and had no issues after installing build-essential with sudo apt install build-essential.

That error looks to be related to your ability to connect to the npm registry securely. Given that, I’d ask a few questions:

  • what do you get if you run npm ping?

  • can you npm install other packages?

  • is your RPI in a network and/or ISP that intercepts or filters traffic?

  • do you have any other special configurations that might impact your certs?

You can bypass the secure connection requirement for npm but it would be safer to identify the underlying issue as it may impact other security concerns on your device and the software you install on it.

Just to double-check, what versions of node (node -v) and npm (npm -v) do you have installed? Are you using a node version manager like nvm, or a system install?

$ npm ping
npm notice PING https://registry.npmjs.org/

npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY
npm ERR! errno UNABLE_TO_GET_ISSUER_CERT_LOCALLY
npm ERR! request to https://registry.npmjs.org/-/ping?write=true failed, reason: unable to get local issuer certificate

npm ERR! A complete log of this run can be found in:
npm ERR! /home/fckwan/.npm/_logs/2024-02-12T22_21_49_261Z-debug-0.log


npm install -g npm
npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY
npm ERR! errno UNABLE_TO_GET_ISSUER_CERT_LOCALLY
npm ERR! request to … failed, reason: unable to get local issuer certificate

npm ERR! A complete log of this run can be found in:
npm ERR! /home/fckwan/.npm/_logs/2024-02-12T22_23_58_935Z-debug-0.log


My RPi is connected to the ISP through a router. The ISP does not intercepts traffic.
There is no special configuration.

$ node -v
v18.13.0

$ npm -v
9.2.0

Is it possible for the Bitwarden team to just release the code to snap so I can use the sudo snap install bitwarden command fr arm 64 platform?

Yeah, it looks like node isn’t configured to use your local system certs. You can try this, and run the npm commands again:

export NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crt

If that works, you can add the command to your ~/.bashrc so you won’t have to enter it every time.

Alternatively, you can use one of the options in the thread I linked before.

I hear you on the snap install option, and will share your feedback with the release team.

The line

export NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crt

works.

$ npm ping
npm notice PING http://registry.npmjs.org/
npm notice PONG 2735ms

But I still cannot install Bitwarden.

$ sudo npm install -g @bitwarden/cli
npm WARN deprecated @babel/[email protected]: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.
npm ERR! code ERR_SOCKET_TIMEOUT
npm ERR! network Socket timeout
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network 
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2024-02-13T15_14_38_603Z-debug-0.log

As I usually just use bitwarden in a browser environment. As you have forward my suggestion to support the sudo snap install bitwarden command. I can wait till this feature of snap install get supported in the future.

Hm, it’s a bit of a longshot, but you might updating npm (npm install -g npm)

I can wait till this feature of snap install get supported in the future.

I totally get it; if you find you need to get the CLI up on your system in the meantime, feel free to reach out and we can keep exploring this avenue.