Mac OSX
    • Dark
      Light
    • PDF

    Mac OSX

    • Dark
      Light
    • PDF

    Article summary

    You can set up and configure a Rocket.Chat development environment on your macOS system, whether it’s running on Apple Silicon or non-Apple Silicon chips.

    Prerequisites

    Install the following:

    brew install nvm

    Confirm that your nvm version is 0.39.2 or higher by running the command nvm --version in your terminal.

    Setting up a Rocket.Chat development environment on MacOS Apple Silicon chip

    • Fork the Rocket.Chat repository on GitHub. Clone the forked repository to your local dev box using this command:

    git clone https://github.com/<your-username>/Rocket.Chat.git
    • Navigate into the project directory and configure a remote to connect your local copy and the original Rocket.Chat repository. This allows you to easily pull updates and bug fixes from the main project without needing to clone it again.

    cd Rocket.Chat
    git remote add upstream https://github.com/RocketChat/Rocket.Chat.git
    • Confirm the Node.js version required by your RocketChat version by executing the following command:

    cat package.json | grep -A4 engines | grep node
    • Install the required version of NodeJS replacing x.x.x with the required NodeJs version number:

    nvm install x.x.x
    • Initialize the meteor framework. This will show the version of meteor requested by Rocket.Chat (located in apps/meteor/.meteor/release). It will also initialize the framework.

    cd apps/meteor
    meteor --version
    cd ../..
    • Install all needed packages and proceed to build the Rocket.Chat app with these commands:

    yarn
    yarn build
    • Start your development server.

    For systems with 16 GB of memory or higher, use this command:

    yarn dev

    For systems with less than 16 GB of memory, use

    yarn dsv

    Once it is finished, check your terminal for a message confirming the successful deployment. The local server will now be running on http://localhost:3000.

    If you encounter any issues, see troubleshooting.

    Setting up a Rocket.Chat development environment on Non-Apple Silicon chips

    This setup instruction has been tested on MacBook Pro 2015, 8Gig Ram, 512Gb SSD,i5.

    • Install Meteor by executing this command:

    curl https://install.meteor.com/ | sh
    • Meteor comes pre-installed with npm and node. Confirm the versions by executing this command:

    meteor node -v
    meteor npm -v
    • Install Yarn if it's not already on your system. It 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 your desired NodeJs version.

    npm install -g n
    n x.x.x
    node -v

    Replace x.x.x with the NodeJs version number.

    • Fork the Rocket.Chat repository on GitHub. Clone the forked repository and navigate to the project directory using this command:

    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
    • Navigate to the project root directory and install all the needed packages by executing this command:

    cd ../..
    yarn
    • Build and startup your development server by running this command:

    yarn build
    yarn dev

    Once it is finished, check your terminal for a message confirming the successful deployment. The local server will now be running on http://localhost:3000.

    Modify the code in your IDE to see the changes on the server instance. You can now start contributing to Rocket.Chat. Check out the contribution guide to learn more about the contribution process.

    Troubleshooting

    Failure linking "fibers" (Apple Silicon)

    If yarn is failing on the link step for fibers with a log similar to:

    ➤ YN0007: │ fibers@npm:5.0.3 must be built because it never has been before or the last one failed
    ➤ YN0009: │ fibers@npm:5.0.3 couldn't be built successfully (exit code 1, logs can be found here: /private/var/folders/…/build.log)
    ➤ YN0009: │ fibers@npm:5.0.3 couldn't be built successfully (exit code 1, logs can be found here: /private/var/folders/…/build.log)
    ➤ YN0009: │ fibers@npm: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
    `node-gyp` introduced breaking changes in Oct 2023 for v10.0.0+ and supports node `^16.14.0 || >=18.0.0`.
    If you are experiencing incompatible node version issues because of this, install `[email protected]` or older.
    See [recent releases](https://github.com/nodejs/node-gyp/releases) for more information. 
    • Rebuild fibers for the system architecture manually

      cd node_modules/fibers
      node-gyp rebuild --arch=arm64
    Depending on your `node-gyp` version, it may utilize the `distutils` package, which is deprecated in Python version `3.12`+. If you are
    experiencing issues at this step set your Python environment to an older version.

    * 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/

    If yarn dsv fails and shows “something went wrong installing the “sharp” module.”

    This error is caused by an Apple silicon processor incompatibility. It means the Sharp module used for image processing in the Rocket.Chat project cannot find the required native add-on file sharp-darwin-arm64v8.node.

    To resolve this problem, follow the steps below:

    1. Install Rosetta 2 by running softwareupdate --install-rosetta.

    2. Uninstall Meteor by running:

      sudo rm /usr/local/bin/meteor 
      rm -rf ~/.meteor 
    3. Reinstall meteor with flags by running arch -x86_64 npm install -g meteor.

    4. Now run yarn && yarn build && yarn dsv.

    Now, the application should be successfully built and be available to access via http://localhost:3000.


    Was this article helpful?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.
    ESC

    Eddy AI, facilitating knowledge discovery through conversational intelligence