- Print
- DarkLight
- PDF
Mac OSX
- Print
- DarkLight
- PDF
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:
Also, install Node Version Manager (nvm) with this command:
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 inapps/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
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
globallynpm 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.”
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:
Install Rosetta 2 by running
softwareupdate --install-rosetta
.Uninstall Meteor by running:
sudo rm /usr/local/bin/meteor rm -rf ~/.meteor
Reinstall meteor with flags by running
arch -x86_64 npm install -g meteor
.Now run
yarn && yarn build && yarn dsv
.
Now, the application should be successfully built and be available to access via http://localhost:3000
.