- Print
- DarkLight
- PDF
Windows 10
- Print
- DarkLight
- PDF
Setting up Rocket.Chat on Windows requires using the WSL2. Windows Subsystem for Linux 2 (WSL2) is a complete architectural overhaul of Linux on Windows, which installs an entire Linux kernel (built by Microsoft) alongside the classic Windows kernel. The Linux and Windows kernels can now share system resources, such as memory and CPU, at a previously impossible granularity.
Prerequisites
Software requirements
Windows 10, version 2004 or above.
Install and configure WSL 2 following the Microsoft documentation. The default Linux distribution to be installed is Ubuntu.
Download and install the latest Linux kernel updates.
Machine requirements
To set up Rocket.Chat development environment, you'll require a Windows machine that meets the following minimum specifications:
12 GB of RAM (16+ GB highly recommended)
Four or more cores on CPU (at least 3 GHz boosted, 4.2 GHz or higher recommended)
80 GB of available fast SSD storage (PCIe 4.0 NVMe SSD recommended)
Set up a Rocket.Chat development environment on Windows
Open the Ubuntu WSL 2 shell and update the distro by running this command:
sudo apt-get update && sudo apt-get dist-upgrade -y
Install the necessary build tools:
sudo apt-get install build-essential python3 make g++
Install NodeJs 14.x (LTS) either manually or using a tool like nvm or volta.
Check the releases to see the required NodeJS version for Rocket.Chat.
Install Deno by running:
curl -fsSL https://deno.land/install.sh | sh
Install Meteor with this command:
npx [email protected]
Occasionally, you might have to install an older Meteor release as Rocket.Chat currently only supports Meteor 2.x. Ensure to verify the required Meteor version for Rocket.Chat from the
.meteor/release file.
Alternatively, Install a specific Meteor version using the command below, replacing
x.x
with the version number:curl https://install.meteor.com/?release=x.x | sh
Install the
yarn
package manager with this command.npm install --global yarn
Fork the Rocket.Chat repository on GitHub.
To install Git on Linux, see the official guide.
Open the WSL 2 shell, navigate into the (~/home/yourusername) directory. Clone the forked repository by running the command below:
git clone https://github.com/<your-username>/Rocket.Chat.git
Navigating into the specified directory above is necessary, otherwise, MongoDB won't start
Navigate into the Rocket.Chat directory and install all the dependencies by running these commands:
cd Rocket.Chat yarn
During the build, you may notice warnings about peer or transitive dependencies. These are typically safe to ignore unless you are developing the specific features or modules that require them.
When completed, build and run the server by executing this command:
yarn dsv
The first build can take ten or more minutes, and you may see various warnings or minor errors. Subsequent dev builds will take lesser time.
A successful running server will open up port 3000
on your machine where you can access Rocket.Chat using any browser or the Rocket.Chat client app through http://localhost:3000
Edit Rocket.Chat files on Windows
On Windows 10, the recommended IDE to use is Visual Studio Code. Install Visual Studio Code from Microsoft’s store and ensure you install the VS Code extension named Remote - WSL. Optionally, you can install the Windows Terminal extension.
To edit Rocket.Chat files,
Open the cloned repository folder in your IDE.
When you make changes to Rocket.Chat the server will automatically rebuild.
Sometimes, changes can shut down the server. If that happens, run
yarn dsv
again.
Troubleshooting
Fixing symbolic link issues with libcuda.so.1
libcuda.so.1
Please follow these steps if you encounter the error message, “/sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1
is not a symbolic link” while building your Rocket.Chat project.
Open a terminal and check the status of the
libcuda.so.1
file by running:ls -l /usr/lib/wsl/lib/libcuda.so.1
If the output shows this:
-r-xr-xr-x 1 root root 154088 Dec 19 2023 /usr/lib/wsl/lib/libcuda.so.1
This means the
libcuda.so.1
file exists but is not a symbolic link, as indicated by the file permissions and type (-r-xr-xr-x
indicates a regular file, not a symbolic link). To resolve this issue, remove this file and create a symbolic link pointing to the correctlibcuda.so
file.Remove
libcuda.so.1
file:sudo rm /usr/lib/wsl/lib/libcuda.so.1
Check for the actual
libcuda
files in the directory to determine the correct target for the symbolic link:ls -l /usr/lib/wsl/lib/
Look for the actual
libcuda
files, such aslibcuda.so.1.1
.Create a symbolic link, assuming
libcuda.so.1.1
is the correct target file:sudo ln -s /usr/lib/wsl/lib/libcuda.so.1.1 /usr/lib/wsl/lib/libcuda.so.1
Verify the symbolic link is set up correctly:
ls -l /usr/lib/wsl/lib/libcuda.so.1
The output should show that
libcuda.so.1
is a symbolic link pointing tolibcuda.so.1.1
(or another appropriate version):lrwxrwxrwx 1 root root 31 Jun 24 19:04 /usr/lib/wsl/lib/libcuda.so.1 -> /usr/lib/wsl/lib/libcuda.so.1.1
Clean Yarn cache:
yarn cache clean
Install dependencies and build the project:
yarn yarn dsv
For more troubleshooting guides, check out the development environment troubleshooting.
Now that your development server is running, you can contribute to the Rocket.Chat server! See participate in Rocket.Chat development to learn more about Rocket.Chat contributions.