In a normal development environment you’re likely to have developers working on different OS platforms to your server or in some cases, especially with remote working, you’d have developers working on different OS platforms to each other. With RoR this is probably more so as most developers I know use WindowsXP as their preferred development environment whereas Rails is normally served off a *nix box. Due to these setups cross-platform compatibility issues are inevitable. Take my current project as an example. I am running WindowsXP whereas another developer in my team is using MacOSX, which is a Unix-like operating system. Whenever we share files over SVN rails starts to complain about EOL (End Of Line) problems or not being able to detect the EOL. This is due to the fact that Windows and Unix-like OS use different EOL styles and do not share common file attributes.
The resolution is simple and it’s on the SVN side. Set svn:executable and svn:eol-style properties of /public/dispatch.fcgi and all files within the /scripts/ folder to:
svn:executable = *
svn:eol-style = native
Now, Commit changes and Update local SVN files.
If errors persist and is along the lines of, “rake, rakefile cannot be found” when running rake or, “Ruby bin folder cannot be found” when running the project then try the following:
- Open up dispatch.fcgi
- Insert a blank line at the end of the file, re-save and Commit the file.
The above ensures that the repository is correctly updated with the latest file when you Commit.