Can\'t find any resource that\'s helped me in this! When I try to \'rails s\' and go to any page of the app; it shoots me this error page saying I am missing helper files.
This isn't really a ruby or Rails bug as it is a flaw in OSX (IMHO) resulting from a design decision made many years ago to maintain compatibility with OS 8.0 (classic MacOS) and provide better compatability with Windows FAT/NTFS. That decision was to implement HFS+ with a case preserving but case insensitive naming schema wherein the following paths are equivalent:
/tmp/CASE_insensitive
/tmp/case_INSENSITIVE
You can read more about this in the following quora post:
Why does OS X choose to have a case-insensitive file system instead of a case-sensitive one?
If you've ever configured an HFS+ filesystem to enforce case insensitivity (you know, to be more compatible with actual *nix filesystems) you may very well come across software that just breaks on OSX because that software has been somewhat carelessly written to assume no case insensitivity (IIRC, some Adobe software had great trouble with HFS+ with case sensitivity).
Try this in the OSX terminal:
prompt>mkdir /tmp/CASE_insensitive
prompt>cd /tmp/case_INSENSITIVE
prompt>pwd
/tmp/case_INSENSITIVE
IMHO, that's pretty messed up. Now, if you're using Pow on your OSX system, when you create the symlink in the ~/.pow
directory to point to your Rails app, be careful of the case. Mis-typing the case here will result in the error noted by the OP. Simply removing and renaming the symlink with the appropriate case will fix this properly.
I found that renaming only the sites folder worked for me just like Zubin pointed out. I did not do the sudo ln command.
mv sites sites1
mv sites1 sites
I solved with "spring stop" in the console.
This worked for me:
cd ~
mv sites tmpsites
mv tmpsites sites
I also did this, but am unsure if it was required:
cd /
sudo ln -s Users users
Oddly, I can't see the lowercase users
symlink, but both ls /users
and ls /Users
work.
I also encountered this error. All the solutions here didn't work out and I tried different things. Here's my solution which might help others too:
In my project path there was a folder with a vowel mutation / "Umlaut" (ü, ö, ä etc.). So I changed that and everything worked.
If you are using Windows and Powershell, this issue can occur when running rails s
or rails server
from a directory which has a certain capitalisation in the filesystem, but if you have changed into the directory in Powershell using a different capitalisation.
For example on my Windows filesystem my rails site is located at:
C:/Code/Personal-Website
however I ran the following commands in powershell to start my server:
C:\Users\XXX XXX> cd C:/code/personal-website
C:\code\personal-website> rails s
This case mismatch between where Powershell thinks it is starting the server versus where the server's document root actually is in the filesystem seems to cause the problem, and ensuring that your Powershell location case matches that of the directories in Windows will stop it.