Links

Mac OSX

You can set up and run a Rocket.Chat development environment on your macOS system.

Apple Silicon

If you face any issues, see the Troubleshooting section below.

Prerequisite

  • Fork the Rocket.Chat repository into your own GitHub account
  • Clone your fork of the Rocket.Chat repository to your local dev box, navigate into the directory, and configure an additional remote so we can later fetch updates from the main Rocket.Chat repo
git clone https://github.com/your-username/Rocket.Chat
cd Rocket.Chat
git remote add upstream https://github.com/RocketChat/Rocket.Chat.git
  • Find which version of node your version of RocketChat needs by running.
cat package.json | grep -A4 engines | grep node
  • Install the required version of node, for example:
nvm install 14.19.3
  • Initialize the meteor framework. This will show the version of meteor requested by Rocket.Chat (incidentally, specified in apps/meteor/.meteor/release) and will initialize it as a side-effect.
cd apps/meteor
meteor --version
cd ../..
  • Install all needed packages and build the Rocket.Chat app
yarn
yarn build
  • Start your development server
    There are two ways to start the server. For systems with >= 16 GB of memory, use
    yarn dev
    For systems with less than 16 GB of memory, use
    yarn dsv
When done, you should see the following printed on your terminal and the local server running on http://localhost:3000

Non-Apple Silicon Chips

This setup instruction has been tested on MacBook Pro 2015, 8Gig Ram, 512Gb SSD,i5
  • Install Meteor by executing:
curl https://install.meteor.com/ | sh
Meteor comes pre-installed with npm and node, verify by executing:
meteor node -v
meteor npm -v
  • Install Yarn if you don't already have it on your system. Yarn is the recommended package manager
npm install --global yarn
Information on the various versions of packages needed can be found in the package.json
  • To easily manage the node versions on your machine, install the n node package manager and switch to the desired node version you want to use
npm install -g n
n 14.18.3
node -v
git clone https://github.com/your-username/Rocket.Chat
cd Rocket.Chat
  • Run the following commands to navigate to the meteor directory and download the necessary meteor version for Rocket.Chat, as configured in .meteor/release file
cd apps/meteor
meteor --version
  • Back in the main directory, install all the packages by simply running
yarn
  • Build and startup your development server by executing
yarn build
yarn dev
When done, you should see the following printed on your terminal and the local server running on http://localhost:3000
Rocket.Chat server successfully running on macOS

Troubleshooting

Failure linking "fibers" (Apple Silicon)
If yarn is failing on the link step for fibers with a log similar to:
➤ YN0007: │ [email protected]:5.0.3 must be built because it never has been before or the last one failed
➤ YN0009: │ [email protected]:5.0.3 couldn't be built successfully (exit code 1, logs can be found here: /private/var/folders/…/build.log)
➤ YN0009: │ [email protected]:5.0.3 couldn't be built successfully (exit code 1, logs can be found here: /private/var/folders/…/build.log)
➤ YN0009: │ [email protected]:5.0.3 couldn't be built successfully (exit code 1, logs can be found here: /private/var/folders/…/build.log)
  • Install node-gyp globally
    npm install node-gyp --global
  • Rebuild fibers for the system architecture manually
    cd node_modules/fibers
    node-gyp rebuild --arch=arm64
  • Copy binary to the correct location
    mkdir bin/darwin-arm64-83
    cp build/Release/fibers.node bin/darwin-arm64-83/fibers.node
  • Copy the rebuilt module into meteor
    cd ../..
    rm -rf apps/meteor/node_modules/fibers/
    cp -r node_modules/fibers apps/meteor/node_modules/
  • Follow the instructions below for fixing a Bcrypt problem, even though its error message has not yet appeared.
Bcrypt requires arm64 binary but has amd64 one instead (Apple Silicon)
The error specifically looks like the following:
(mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/local/lib/bcrypt_lib.node' (no such file), '/usr/lib/bcrypt_lib.node' (no such file)
  • Move to the bcrypt directory and rebuild everything
    cd node_modules/bcrypt
    make
  • Copy the rebuilt module into meteor
    cd ../..
    rm -rf apps/meteor/node_modules/bcrypt
    cp -r node_modules/bcrypt apps/meteor/node_modules/
Last modified 1mo ago