Tooling and Builds

Changing Electric UI release streams

We maintain separate release streams for the current release version, latest, and a pre-release stream called next. Its also possible to switch to a specific commit SHA.

  • Use arc info to check which stream you are using.
  • Change to the next stream using arc switch next.
  • Change to the latest stream using arc switch latest.

When you arc init, you'll use the latest template and libraries for your selected stream.

We don't recommend running next in production, as we don't make stability guarantees outside latest.

In select situations, support may direct you to use the next or staging streams to test new features or bug fixes.

Manually download arc

If you can't or don't want to use the automated installer approach for arc, the binaries can be downloaded directly (~9MB download).

If required by package managers or automated checks, the semver version number is available at registry.eui.io/arc/versions/latest. arc checks itself against this version as part of the update notice.

Older versions for any given platform can be downloaded explicitly, i.e. https://registry.eui.io/arc/$VERSION/arc_$VERSION_linux_amd64.tar.gz.

Once downloaded, move the binary somewhere sensible, and add it to your PATH for convenience as described below.

We provide aarch64 binaries for Linux: common functionality has been verified with a QEMU emulated Debian11 install but don't have access to hardware for full testing.

Passing CLI arguments through arc

Pass arguments to Electron or Node when launching the development sandbox after an empty -- argument at the end of the command.

For example - launching an Electron sandbox with Ozone platform hinting for better Wayland behaviour on Linux:

arc start -- --ozone-platform=wayland

Can't find arc - PATH issues

You need to make sure that arc is in your system's PATH variable, and that your current shell has sourced the PATH after any changes.

The installer script we provide as part of the install instructions does this automatically on macOS and most Linux distros. The .msi based installer for Windows should have added this during install.

Windows

If you've just installed arc with our installer, we suggest rebooting first to make sure your system has refreshed it's PATH.

We found Powershell on Windows 11 (in particular) requires a full reboot to refresh PATH - not just starting a new shell...

In this example we assume that the downloaded arc.exe binary is in a sensible location, or the default installer location C:\Program Files\electricui-arc\.

For this example, ours is in a manual location C:\Projects\tools\electricui\arc.exe, but these instructions apply when you put the binary anywhere else.

  • Open the Start Menu
  • Type environment variables into search and select the option called "Edit the system environment variables"
  • The "System Properties" window will open, navigate to "Advanced", then click the "Environment Variables..."
  • Under the "System variables" section, select the Path variable. Click "Edit..."
  • You'll see a list of locations which are in your PATH. Create a new entry, and add the fully resolved location of the arc.exe binary you downloaded.
    • On our machine, we put the file in a tools directory C:\Projects\tools\electricui.
  • Click "OK" to save. Close the editor window and open a new shell.
  • Test that the added variable worked by typing arc info into the shell.

Linux

For this example we assume you've opted to manually download the arc binary and place in a directory called "electricui" in a your system's opt folder, the file's fully resolved location is /opt/electricui/arc

  • Open a terminal window.
  • Find your system/shell's relevant user configuration file. This is typically ~/.profile, though some people prefer using ~/.bashrc for shell specific configuration.
  • Open it with a text editor like nano or vi
  • Add the following export to the file export PATH="/opt/electricui:$PATH"
  • Save the file, exit the editor. Restart your shell, or run source ~/.profile to enact the changes in the current shell.

macOS

  • Open a terminal window. Most macOS systems use zsh by default. If you're using bash, follow the Linux instructions above.
  • We will add the location of the arc binary to the ~/.zprofile file, use your editor of choice to edit the file
    • nano ~/.zprofile
    • Add the location of the arc binary using standard bash export syntax export PATH="~/tools/electricui:$PATH"
  • Open a fresh shell and run arc info to check everything works.

Can't find nvm - PATH issues

The nvm installation process should have handled this for you if you're using bash.

macOS

  • Open a zsh terminal window.

  • We'll edit the ~/.zprofile file with your editor of choice:

    • nano ~/.zprofile

    • Add the following lines, then save the file:

      export NVM_DIR="$HOME/.nvm"
      [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
      [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
  • Open a fresh shell and run nvm -v to check it works.

Can't find npm or yarn - PATH issues

Windows

If you just installed node with their installer as suggested in our install flow, we suggest rebooting first to make sure your system has refreshed it's PATH.

If you installed using Chocolatey, try forcing an in-shell refresh:

  • cmd.exe: use refreshenv in cmd.exe to . If
  • powershell: use Update-SessionEnvironment

We found Powershell on Windows 11 (in particular) requires a full reboot to refresh PATH in some situations - not just starting a new shell...

For reference, the user PATH for yarn/bin and npm look something like this (note the two entries at the end of the list):

windows-user-path

The system PATH for nodejs and yarn/bin should look similar to this (note the two entries at the end of the list):

windows-system-path

My node or yarn versions are too old, or conflict against other projects

Is there any reason why you can't update them? If using your distribution's provided versions, consider uninstalling them with your package manager and following our install instructions. Often the OS provided version for a given programming language isn't ideal to develop with, and you might be familiar with tooling in languages like Python or Rust which multi-version development easier.

nvm allows you to switch between node versions, we recommend it in our install instructions.

Once you have nvm installed, you can install different versions with nvm install 16, view installed versions with nvm ls, and switch to an installed version with nvm use 16.

arc can't see servers

Check you can see our see our server: ping eui.io. If you can't, does your internet connection work (our entire website runs from local cache).

If you are on a restrictive corporate network, try configuring the proxy settings?

We're more than happy to help - Get in touch here.

I already have a program called arc installed

In the rare situation that you have a conflict against our arc tool and other software, we recommend renaming/aliasing our binary to eui-arc.

If you are updating an existing installation, you can install over the top of previous versions of arc without worry.

Bash-like systems

  • For Linux and macOS systems, we recommend a manual install with the additional step of renaming the arc binary.
    • mv arc eui-arc
    • If you have added the binary to your PATH in your ~/.profile, ~/.bashrc or ~/.zprofile, make sure the name is also correct!

Certificate signed by unknown authority

Running arc results the following error message:

Post https://bolt.eui.io/prod/graphql: x509: certificate signed by unknown authority
No internet connection detected, skipping version check.

We found when using arc with Alpine based containers. This is because the containers lack the tooling required to make TLS to webservers, specifically ca-ceritficates.

Install the ca-ceritficates package to resolve the issue.

Consider adding the following to your Dockerfile:

RUN apk add --no-cache ca-certificates && update-ca-certificates

CRC Mismatch during install

The underlying package management tooling yarn has occasionally failed to install packages during arc install due to a cache checksum mismatch (YN0018).

This can be resolved by setting the environment variable YARN_CHECKSUM_BEHAVIOR=update.

  • For a unix-like shell example, YARN_CHECKSUM_BEHAVIOR=update arc install.
  • For Windows, temporarily set the environment variable for the current shell with set YARN_CHECKSUM_BEHAVIOR=update then re-run arc install.