- 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:
Meteor version 2.x
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 Meteor
Rocket.Chat currently supports Meteor 2.x. Therefore, using the newly released Meteor 3.x may cause errors. If you have Meteor 3.x or any unsupported version installed, follow these steps to uninstall it:
Remove the Meteor executable:
sudo rm /usr/local/bin/meteor
Delete the Meteor installation directory:
rm -rf ~/.meteor
Next, install the supported 2.x version of Meteor by running:
npx [email protected]
Ensure your computer is running Node.js 14
After installation, verify the version by running:
meteor --version
You should see the installed version displayed in your terminal.
Set 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.
Set 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.
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
Resolving yarn
permission error
yarn
permission errorIf you encounter a "permission denied" error when running Yarn in your project, it may be due to incorrect permissions on either your home directory or the Yarn cache directory.
To fix this, follow these steps to check and correct the permissions:
sudo chown -R $(whoami) ~/.yarn
sudo chmod -R u+w ~/.yarn
The commands change the ownership of the ~/.yarn
directory to the current user and grants write permissions thus resolving the permission error.
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.”
yarn dsv
fails and shows “something went wrong installing the “sharp” module.”An Apple silicon processor incompatibility causes this error. 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
.