- You'll likely need
homebrewbefore you can install Ruby. - Both
rvmandrbenvare good ways to install Ruby. - If you run into errors during Ruby installation, run
brew doctorand follow the advice given, if any.
- It's highly recommended to use WSL2 for your development environment. Verify that you have version 2 enabled.
rvmorrbenvshould work from there.
- Use
rvmorrbenv.
-
Most integration tests fail with an exception. This is usually caused by an improperly installed/linked version of QT, particularly on OSX. This wiki section should set you straight.
-
"Error: EACCES: permission denied, open '/home/username/.babel.json'" This happen, when babel don't have acces to ~/. To fix this, use command:
BABEL_DISABLE_CACHE=1 yarn start -
"sh: 1: node: not found" This usually happen on Ubuntu 16.04, when nodejs is not linked as 'node'. To fix this, use command:
sudo ln -s /usr/bin/nodejs /usr/bin/node -
"Gem::Ext::BuildError: ERROR: Failed to build gem native extension. *.rb can't find header files on running bundle install". This happens when header files required are not installed in the system. To fix this install a package, using command:sudo apt-get install ruby2.3-dev -
My sql setup should come before installing bundler.
-
"Sorry you can't use Pry without Readline or a compatible library". add
rb-readlineto the Gemfile in the development group. -
For Debian users, if you could not start the mysql command line using
sudo mysql. Your default password is blank. Go to database.yml and type in your password in the password field.- In database.yml:
password: "mypassword"Then start the command line: - Debian:
mysql -u root -p SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypassword')CREATE DATABASE dashboard DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;CREATE DATABASE dashboard_testing DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;exit
- In database.yml:
-
**When running yarn : **
ERROR: There are no scenarios; must have at least one. Your system has cmdtest installed, which provides a different program as yarn. Uninstall itsudo apt remove cmdtest, then re-install yarnsudo npm -g install yarnand try again. -
To check if redis is running as a daemon in Linux
ps aux | grep redis-server -
Use node v14 or newer to avoid any errors.
-
For WSL users , if rspec tests are taking too long to run make sure to fork the repo in the linux file system and not in the windows partition. Use command
pwdto know the exact path of your repo. If the path starts with/mnt/, the repo is in windows partition. Follow the documentation available at link: https://learn.microsoft.com/en-us/windows/wsl/filesystems to know more about storing and moving files in the linux file system.If you have received error related to dependencies(
sudo apt-get install -y redis-server mariadb-server libmariadb-dev rvm nodejs npm pandoc), try to install packages one by one and figure out which packages are creating problems.
Solution to some of the errors for WSL users:
-
mariaDB Package error (
The following packages have unmet dependencies: mariadb-server : Depends: mariadb-server-10.4 (>= 1:10.4.8+maria~disco) but it is not going to be installed): Trysudo aptitude install mariadb-server: you will get suggestions of the packages not installed. When prompted for accepting the solution - write 'n', then it will fix itself and will again prompt for reinstalling mariadb packages - this time write 'y'. Reopen the terminal and check if you can start mariadb server. -
npm error(
unmet dependencies): Try usingaptitude.sudo apt-get install aptitudesudo aptitude install npm -
rvm install 3.1.2' command error (
cannot create directory...: Permission denied): Try usingrvm fix-permissions system; rvm fix-permissions user -
error:
usermod: group 'rvm' does not exist:Trysudo groupadd rvm
If your development environment is on an Ubuntu virtual machine running on Apple Silicon (Arm64) using UTM, you might encounter NoSuchDriverError when running rspec like
Selenium::WebDriver::Error::NoSuchDriverError Unable to obtain chromedriver using Selenium Manager
This error is as a result of Selenium Manager not having support for the ARM64 architecture hence not being able to automatically locate a compatible ChromeDriver binary.
Fix:
-
Manually install Chrome and ChromeDriver:
sudo apt install chromium-browser chromium-chromedriver -
Open
spec/rails_helper.rband paste the code below just above this line of codeCapybara.register_driver :selenium do |app|to specify the location of your chrome driver:Selenium::WebDriver::Chrome::Service.driver_path = '/usr/bin/chromedriver'
Note: Do not commit this fix to git as it is environment specific.