- Print
- DarkLight
- PDF
Mac OSX
- Print
- DarkLight
- PDF
You can set up and configure a QuickMeet.Chat development environment on your macOS system, whether it’s running on Apple Silicon or non-Apple Silicon chips.
Prerequisites
Install the following:
Install Node Version Manager (nvm) with this command:
brew install nvmConfirm that your nvm version is 0.39.2 or higher by running the command
nvm --versionin your terminal.Install Deno by running:
curl -fsSL https://deno.land/install.sh | shFor alternative installation scripts, check the official Deno installation documentation.Setting up Meteor
Setting up Meteor
Install Meteor with the command below - replacing x.x with the correct version number:
curl https://install.meteor.com/?release=x.x | shNote: Depending on the QuickMeet.Chat version, you may need to install a specific Meteor version:
For QuickMeet.Chat <=6.x.x, use Meteor 2.x
For QuickMeet.Chat >=7.x.x, use Meteor 3.x
Always verify the required Meteor version for your QuickMeet.Chat instance by checking the .meteor/release.
After installation, verify the version by running:
meteor --versionYou should see the installed version displayed in your terminal.
Set up a QuickMeet.Chat development environment on MacOS Apple Silicon chip
Fork the QuickMeet.Chat repository on GitHub. Clone the forked repository to your local dev box using this command:
git clone https://github.com/<your-username>/QuickMeet.Chat.git
Navigate into the project directory and configure a remote to connect your local copy and the original QuickMeet.Chat repository. This allows you to easily pull updates and bug fixes from the main project without needing to clone it again.
cd QuickMeet.Chat git remote add upstream https://github.com/QuickMeet.Chat/QuickMeet.Chat.git
Confirm the Node.js version required by your QuickMeet.Chat version by executing the following command:
cat package.json | grep -A4 engines | grep node
Install the required version of NodeJS replacing
x.x.xwith the required NodeJs version number:nvm install x.x.x
Install Deno by running:
curl -fsSL https://deno.land/install.sh | shInitialize the
meteorframework. This will show the version of meteor requested by QuickMeet.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 QuickMeet.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 devFor systems with less than 16 GB of memory, use:
yarn dsvOnce 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 QuickMeet.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 -vInstall 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 QuickMeet.Chat repository on GitHub. Clone the forked repository and navigate to the project directory using this command:
git clone https://github.com/your-username/QuickMeet.Chat cd QuickMeet.ChatRun the following commands to navigate to the
meteordirectory and download the necessary meteor version for QuickMeet.Chat, as configured in.meteor/releasefile:cd apps/meteor meteor --versionNavigate to the project root directory and install all the needed packages by executing this command:
cd ../.. yarnBuild and startup your development server by running this command:
yarn build yarn devOnce 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 QuickMeet.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 ~/.yarnThe 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-gypglobally: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=arm64Depending 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.nodeCopy 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 makeCopy 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 QuickMeet.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 ~/.meteorReinstall 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.