Refinery CMS, rails 3.1.1 and the Operation not permitted error Errno::EPERM

October 14, 2011


This post was originally published in the Rambling Labs Blog on October 14, 2011.


The last couple of days, I’ve been trying to set up Refinery CMS for a project I’m working on. I’ve made a couple of Stack Overflow questions about which ruby on rails CMS supports multiple languages and custom types.

Answers to both questions were directing me to Refinery CMS, so I had to test it out. But… I wanted it to be on rails 3.1 (either 3.1.0 or 3.1.1). So I googled for a while and found that Refinery CMS edge on github does support rails 3.1.

So I set up my Refinery CMS local test under my Ubuntu virtual machine by first downloading the edge code from github, like this:

git clone git://github.com/resolve/refinerycms.git ~/refinerycms-edge

Then, after that, I created the new Refinery CMS app:

~/refinerycms-edge/bin/refinerycms refinery_test

It seemed that it worked fine, but when I tried to run the app with rails server, It failed badly with a 'rename' -- Operation not permitted ... Errno::EPERM error. When I googled this, there wasn’t much to find. Supposedly, this was a permission issues but the user running the command had all the privileges and even if I changed the app folder’s permissions it still failed.

So I tried again with an earlier version, with no luck. Almost two days completely lost until, today, I remembered that I have my repositories folder on a NTFS partition, created by my Windows installation. Could it be possible that this had something to do with the error?

So, I tried to do the same under an ext4 partition and BAM! It works!!

I guess I’m gonna have to move some of my repositories to the virtual machine’s disk…

If you have this same issue, try running your commands under an ext3/ext4 partition and see how it goes.