Alright, I think we've figured this out. Parker's tip about the permissions on local_dependency.rb led me to investigate my own capistrano install, and sure enough, the file in question was user and group readable, but not world readable. However, since my user is in the same group as the file in question, I didn't have any problem.
Digging deeper, I found that the local_dependency.rb file in my local capistrano repository had the same permissions issue. Some poking around with 'git ls-tree' didn't indicate that the file itself had ever been committed with those permissions, so I resorted to brute force and nuked my local capistrano repository, and cloned it again from github. And the perms were correct on that file now. So, I suspect that rubygems kept the bad permissions when I built the 2.4.0 gem, and made sure the permissions were preserved on each install. Until a new gem is available, fixing the permissions on the lib/capistrano/recipes/deploy/local_dependency.rb file should fix any problems you have. I'll try to get 2.4.1 out this week. Thanks for everyone who contributed to this investigation. I apologize for the frustration! - Jamis On Jun 24, 2008, at 8:50 PM, benr75 wrote: > > I can confirm this same issue, getting the error: could not find any > strategy named `checkout'. All my deploys stopped working unless > called via sudo. I am on: > > Mac OS X 10.5.3 > Gem 1.2.0 > Capistrano v2.4.0 > > Tricky to figure out which operation created the botched permissions. > > ~ Ben > > On Jun 24, 6:37 pm, Jamis Buck <[EMAIL PROTECTED]> wrote: >> That...seems really odd. I have no idea how that could happen. It >> does >> explain why running as root works, though. Good find, Parker. Thanks >> for keeping us in the loop. >> >> - Jamis >> >> On Jun 24, 2008, at 4:38 PM, Parker McGee wrote: >> >> >> >>> I'm not sure what the over-arching reason for this is, but I >>> realized >>> that some random rubygem files aren't getting read-access for >>> others. >>> For example, capistrano/recipes/deploy/local_dependency.rb didn't >>> have >>> read permissions. This happened on other gems as well. I actually >>> figured this out because sqlite-ruby wasn't getting loaded correctly >>> due to a file not having read permissions. >> >>> So, I ended up fixing this by running `sudo chmod -R +r >>> capistrano` in >>> the capistrano gem's lib directory. >> >>> I'm not sure if this is an 'acceptable' fix. I would love to know >>> exactly what the problem is here. >> >>> Parker McGee >> >>> On Jun 24, 5:34 am, "[EMAIL PROTECTED]" >>> <[EMAIL PROTECTED]> wrote: >>>> I've not had time to dig further into it but commenting out the >>>> rescue >>>> in recipes/deploy/strategy.rb gives this: >> >>>> /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:32:in >>>> `gem_original_require': no such file to load -- capistrano/recipes/ >>>> deploy/local_dependency (LoadError) >>>> from /usr/local/lib/site_ruby/1.8/rubygems/ >>>> custom_require.rb:32:in >>>> `require' >>>> from /usr/lib/ruby/gems/1.8/gems/capistrano-2.4.0/lib/ >>>> capistrano/ >>>> recipes/deploy/dependencies.rb:1 >>>> from /usr/local/lib/site_ruby/1.8/rubygems/ >>>> custom_require.rb:27:in >>>> `gem_original_require' >>>> from /usr/local/lib/site_ruby/1.8/rubygems/ >>>> custom_require.rb:27:in >>>> `require' >>>> from /usr/lib/ruby/gems/1.8/gems/capistrano-2.4.0/lib/ >>>> capistrano/ >>>> recipes/deploy/strategy/base.rb:1 >>>> from /usr/local/lib/site_ruby/1.8/rubygems/ >>>> custom_require.rb:27:in >>>> `gem_original_require' >>>> from /usr/local/lib/site_ruby/1.8/rubygems/ >>>> custom_require.rb:27:in >>>> `require' >>>> from /usr/lib/ruby/gems/1.8/gems/capistrano-2.4.0/lib/ >>>> capistrano/ >>>> recipes/deploy/strategy/remote.rb:1 >>>> ... 28 levels... >>>> from /usr/lib/ruby/gems/1.8/gems/capistrano-2.4.0/lib/ >>>> capistrano/cli/ >>>> execute.rb:14:in `execute' >>>> from /usr/lib/ruby/gems/1.8/gems/capistrano-2.4.0/bin/cap:4 >>>> from /usr/bin/cap:19:in `load' >>>> from /usr/bin/cap:19 >> >>>> Does this help at all? >> >>>> local_dependency.rb does exists >> >>>> Thanks >>>> Nick >> >>>> On Jun 24, 4:05 am, Parker McGee <[EMAIL PROTECTED]> wrote: >> >>>>> Well, I just tried to run it sudo'd and `cap deploy:check` worked >>>>> just >>>>> fine, so it seems like it may be a permissions problem, but I have >>>>> read permissions for other set on all the gem files, and I can cat >>>>> the >>>>> files just fine, so that's obviously not the problem. Any other >>>>> thoughts? >> >>>>> Parker McGee >> >>>>> On Jun 23, 2:11 pm, sean <[EMAIL PROTECTED]> wrote: >> >>>>>> Hi Jamis, >> >>>>>> Now running gems 1.2 and Capistrano 2.4 again. My path output is >>>>>> -bash: /usr/local/git/bin:/usr/local/bin:/usr/local/sbin:/usr/ >>>>>> local/ >>>>>> bin:/usr/local/mysql/bin:/opt/local/bin:/usr/bin:/bin:/usr/sbin:/ >>>>>> sbin:/ >>>>>> usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin: No >>>>>> such >>>>>> file or directory >> >>>>>> Yes, there is a /usr/local/bin/ruby and nothing has changed after >>>>>> removing the /usr/bin/ruby symlink... >> >>>>>> - Sean >> >>>>>> On Jun 23, 2:46 pm, Jamis Buck <[EMAIL PROTECTED]> wrote: >> >>>>>>> Is there a /usr/local/bin/ruby? Is /usr/local/bin ahead of /usr/ >>>>>>> bin in >>>>>>> your path? What happens if you remove the /usr/bin/ruby symlink? >> >>>>>>> - Jamis >> >>>>>>> On Jun 23, 2008, at 12:38 PM, sean wrote: >> >>>>>>>> Hi Jamis, >> >>>>>>>> Well, I really wouldn't know where to begin in terms of digging >>>>>>>> through the code. One thing I noticed, though (not sure if this >>>>>>>> is >>>>>>>> relevant) is that on my system, there is a symbolic link at / >>>>>>>> usr/lib/ >>>>>>>> ruby which points to /System/Library/Frameworks/Ruby.framework/ >>>>>>>> Versions/Current/usr/lib/ruby >>>>>>>> in which I find a gems directory which has some gems, but not >>>>>>>> the >>>>>>>> capistrano gem. Additionally there is a gems directory in the >>>>>>>> path / >>>>>>>> usr/local/lib/ruby/gems/1.8/gems which has the capistrano and >>>>>>>> other up >>>>>>>> to date gems. I wonder if some part of capistrano is using the >>>>>>>> wrong >>>>>>>> gem path? >> >>>>>>>> Take care, >>>>>>>> Sean >> >>>>>>>> On Jun 23, 2:18 pm, Jamis Buck <[EMAIL PROTECTED]> wrote: >>>>>>>>> I'm sorry all, but I'm at a loss here. I can't duplicate it >>>>>>>>> (using OS >>>>>>>>> X 10.5, Ruby 1.6, Cap 2.4, gems 1.2, etc.). If you are having >>>>>>>>> this >>>>>>>>> problem, I'm afraid I'm going to have to call on you to dig >>>>>>>>> into the >>>>>>>>> code and see what's going on. That, or help me to duplicate >>>>>>>>> the >>>>>>>>> problem so I can investigate. :( >> >>>>>>>>> - Jamis >> >>>>>>>>> On Jun 23, 2008, at 12:14 PM, sean wrote: >> >>>>>>>>>> Hi Jamis et al, >> >>>>>>>>>> I am running capistrano 2.4 on os x 10.5, and I have having >>>>>>>>>> the same >>>>>>>>>> problem: >> >>>>>>>>>> cap deploy:check >>>>>>>>>> * executing `deploy:check' >>>>>>>>>> could not find any strategy named `checkout' >> >>>>>>>>>> That is after commenting out the line: >>>>>>>>>> set :deploy_via, :remote_cache >> >>>>>>>>>> When that line is left in I get: >>>>>>>>>> * executing `deploy:check' >>>>>>>>>> could not find any strategy named `remote_cache' >> >>>>>>>>>> I haven't had any problems with other gems, so I don't think >>>>>>>>>> the >>>>>>>>>> problem is with my load path. cap -V returns Capistrano >>>>>>>>>> v2.4.0 >> >>>>>>>>>> I am having this problem both with a new rais app that uses a >>>>>>>>>> git >>>>>>>>>> repository and my old rails apps that use subversion. >> >>>>>>>>>> thanks in advance for any ideas, >>>>>>>>>> Sean >> >>>>>>>>>> On Jun 23, 12:33 pm, "[EMAIL PROTECTED]" >>>>>>>>>> <[EMAIL PROTECTED]> wrote: >>>>>>>>>>> not sure this is going to help much but see below >> >>>>>>>>>>> thanks >>>>>>>>>>> Nick >> >>>>>>>>>>> On Jun 23, 5:21 pm, Jamis Buck <[EMAIL PROTECTED]> wrote:> >>>>>>>>>>> Do you >>>>>>>>>>> have a .caprc file in your home directory? >> >>>>>>>>>>> No >> >>>>>>>>>>>> What does your >>>>>>>>>>>> Capfile look like? >> >>>>>>>>>>> http://pastie.org/220451 >> >>>>>>>>>>>> Do you have any plugins in vendor/plugins that have >>>>>>>>>>>> cap recipes? >> >>>>>>>>>>> The only plugins installed are: >>>>>>>>>>> [EMAIL PROTECTED]:~/git/nyvej-accreditation (master)$ ls -l >>>>>>>>>>> vendor/ >>>>>>>>>>> plugins/ >>>>>>>>>>> total 24 >>>>>>>>>>> drwxr-xr-x 4 nick nick 4096 2008-06-21 17:07 >>>>>>>>>>> acts_as_state_machine >>>>>>>>>>> drwxr-xr-x 8 nick nick 4096 2008-06-21 17:07 >>>>>>>>>>> exception_logger >>>>>>>>>>> drwxr-xr-x 4 nick nick 4096 2008-06-21 17:07 >>>>>>>>>>> manage_fixtures >>>>>>>>>>> drwxr-xr-x 4 nick nick 4096 2008-06-21 17:07 restful- >>>>>>>>>>> authentication >>>>>>>>>>> drwxr-xr-x 13 nick nick 4096 2008-06-21 17:07 rspec >>>>>>>>>>> drwxr-xr-x 8 nick nick 4096 2008-06-21 17:07 rspec_on_rails >> >>>>>>>>>>>> I'm just wondering if there is something, somewhere, that >>>>>>>>>>>> is >>>>>>>>>>>> mucking >>>>>>>>>>>> with your load path. Try adding this to the bottom of both >>>>>>>>>>>> your >>>>>>>>>>>> deploy.rb and deploy/staging.rb files: >> >>>>>>>>>>>> puts(__FILE__, load_paths.join(":")) >> >>>>>>>>>>>> The load paths that are printed should be (by default) "." >>>>>>>>>>>> and the >>>>>>>>>>>> path to the "recipes" subdirectory in your capistrano >>>>>>>>>>>> installation >>>>>>>>>>>> (/ >>>>>>>>>>>> path/to/gems/capistrano-2.4.0/lib/capistrano/recipes). >> >>>>>>>>>>> I get:http://pastie.org/220453 >>>>>>>>>>> all the paths look correct to me >> >>>>>>>>>>>> - Jamis >> >>>>>>>>>>>> On Jun 23, 2008, at 10:10 AM, [EMAIL PROTECTED] >>>>>>>>>>>> wrote: >> >>>>>>>>>>>>> [EMAIL PROTECTED]:~$ ls -l /usr/lib/ruby/gems/1.8/gems/ >>>>>>>>>>>>> capistrano-2.4.0/ >>>>>>>>>>>>> lib/capistrano/recipes/deploy/strategy >>>>>>>>>>>>> total 32 >>>>>>>>>>>>> -rw-r--r-- 1 root root 2562 2008-06-23 14:36 base.rb >>>>>>>>>>>>> -rw-r--r-- 1 root root 533 2008-06-23 14:36 checkout.rb >>>>>>>>>>>>> -rw-r--r-- 1 root root 8417 2008-06-23 14:36 copy.rb >>>>>>>>>>>>> -rw-r--r-- 1 root root 469 2008-06-23 14:36 export.rb >>>>>>>>>>>>> -rw-r--r-- 1 root root 1488 2008-06-23 14:36 >>>>>>>>>>>>> remote_cache.rb >>>>>>>>>>>>> -rw-r--r-- 1 root root 1735 2008-06-23 14:36 remote.rb >> >>>>>>>>>>>>> I've tried uninstalling all the gems relating to >>>>>>>>>>>>> capistrano but >>>>>>>>>>>>> this >>>>>>>>>>>>> did not help either. I also tried running capistrano >>>>>>>>>>>>> 2.3.0 >>>>>>>>>>>>> (which it >>>>>>>>>>>>> was working for previously) but that did not help >> >>>>>>>>>>>>> Thanks >>>>>>>>>>>>> Nick >> >>>>>>>>>>>>> On Jun 23, 4:54 pm, Jamis Buck <[EMAIL PROTECTED]> >>>>>>>>>>>>> wrote: >>>>>>>>>>>>>> I don't think it is related to rubygems, since I just >>>>>>>>>>>>>> tried >>>>>>>>>>>>>> uninstalling capistrano and reinstalling (using rubygems >>>>>>>>>>>>>> 1.2.0) >>>>>>>>>>>>>> and I >>>>>>>>>>>>>> can find the remote_cache strategy just fine. What does >>>>>>>>>>>>>> the lib/ >>>>>>>>>>>>>> capistrano/recipes/deploy/strategy directory look like in >>>>>>>>>>>>>> your >>>>>>>>>>>>>> capistrano installation? Is there a remote_cache.rb file? >> >>>>>>>>>>>>>> - Jamis >> >>>>>>>>>>>>>> On Jun 23, 2008, at 9:38 AM, [EMAIL PROTECTED] >>>>>>>>>>>>>> wrote: >> >>>>>>>>>>>>>>> I did a fresh install of Ubuntu 8.04 at the weekend >> >>>>>>>>>>>>>>> ruby 1.8.6 (2007-09-24 patchlevel 111) [i486-linux] >> >>>>>>>>>>>>>>> I wonder if it has anything to do with the new version >>>>>>>>>>>>>>> of >>>>>>>>>>>>>>> rubygems? >> >>>>>>>>>>>>>>> thanks >>>>>>>>>>>>>>> Nick >> >>>>>>>>>>>>>>> On Jun 23, 4:06 pm, Jamis Buck <[EMAIL PROTECTED]> >>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>> Very odd. :( I can't duplicate this at all. What >>>>>>>>>>>>>>>> version of >>>>>>>>>>>>>>>> Ruby >>>>>>>>>>>>>>>> are >>>>>>>>>>>>>>>> you using? And what OS? >> >>>>>>>>>>>>>>>> - Jamis >> >>>>>>>>>>>>>>>> On Jun 23, 2008, at 8:53 AM, >>>>>>>>>>>>>>>> [EMAIL PROTECTED] >> >> ... >> >> read more ยป > > --~--~---------~--~----~------------~-------~--~----~ To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/capistrano -~----------~----~----~----~------~----~------~--~---
