2013-09-01 51 views
1

我正在運行GitLab 5.2我相信FreeBSD 9.1-RELEASE好幾個月了,事情進展順利,沒有明顯的問題可以看到。FreeBSD上的posix-spawn問題

我最近升級到了6.0提供gitlab.org指導下,像下面不幸的是,我現在得到錯誤:

No such file or directory - posix_spawnp 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/posix-spawn-0.3.6/lib/posix/spawn.rb:187:in `_pspawn' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/posix-spawn-0.3.6/lib/posix/spawn.rb:187:in `pspawn' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/posix-spawn-0.3.6/lib/posix/spawn.rb:160:in `spawn' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/posix-spawn-0.3.6/lib/posix/spawn.rb:307:in `popen4' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/posix-spawn-0.3.6/lib/posix/spawn/child.rb:105:in `exec!' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/posix-spawn-0.3.6/lib/posix/spawn/child.rb:80:in `initialize' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/gitlab-grit-2.6.0/lib/grit/git.rb:341:in `new' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/gitlab-grit-2.6.0/lib/grit/git.rb:341:in `native' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/gitlab-grit-2.6.0/lib/grit/git.rb:368:in `method_missing' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/gitlab-grit-2.6.0/lib/grit/repo.rb:558:in `log' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/gitlab_git-2.1.0/lib/gitlab_git/repository.rb:180:in `log' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/gitlab_git-2.1.0/lib/gitlab_git/commit.rb:52:in `find' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/gitlab_git-2.1.0/lib/gitlab_git/commit.rb:64:in `last' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/gitlab_git-2.1.0/lib/gitlab_git/repository.rb:90:in `has_commits?' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/gitlab_git-2.1.0/lib/gitlab_git/repository.rb:96:in `empty?' 
/tank/gitlab/gitlab/app/models/repository.rb:17:in `empty?' 
/tank/gitlab/gitlab/app/models/project.rb:345:in `empty_repo?' 
/tank/gitlab/gitlab/lib/tasks/gitlab/check.rake:519:in `block in check_repos_post_receive_hooks_is_link' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/activerecord-3.2.13/lib/active_record/relation/batches.rb:21:in `block (2 levels) in find_each' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/activerecord-3.2.13/lib/active_record/relation/batches.rb:21:in `each' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/activerecord-3.2.13/lib/active_record/relation/batches.rb:21:in `block in find_each' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/activerecord-3.2.13/lib/active_record/relation/batches.rb:72:in `find_in_batches' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/activerecord-3.2.13/lib/active_record/relation/batches.rb:20:in `find_each' 
/tank/gitlab/gitlab/vendor/bundle/ruby/1.9/gems/activerecord-3.2.13/lib/active_record/querying.rb:8:in `find_each' 

我絕對不是專家,但我不確定FreeBSD是否提供任何posix兼容性。我已經手動安裝了posix-spawn寶石,但它沒有任何區別。我無法通過搜索找到幫助,唯一類似的情況下,我可以看到失蹤的pygments,但我已經安裝了。

是不是可以在FreeBSD上使用GitLab與更高版本?我看到非官方的FreeBSD/GitLab安裝指南僅適用於5.1和5.2版本,因此可能是一個指示。如果是這樣,這將是一個恥辱,GitLab是一個偉大的軟件,我討厭不得不放棄它。

欣賞的一些見解,謝謝

回答

0

確保混帳正確的路徑gitlab /配置/ gitlab.yml FreeBSD作爲將安裝端口/包到/ usr /本地默認設置:

git: 
    bin_path: /usr/local/bin/git 

然後重新啓動GitLab。

如何調試這樣的:

打印功能的增值經銷商中gitlab /供應商/包/紅寶石/ 1.9 /寶石/ POSIX的產卵-0.3.6/lib目錄/ POSIX/spawn.rb在線(調整如果需要的話):

puts "DEBUG" 
puts env 
puts argv 
puts options 
     _pspawn(env, argv, options) 

運行應用程序狀態:

# bundle exec rake gitlab:check RAILS_ENV=production 

{} 
[["/usr/bin/git", "/usr/bin/git"], "--git-dir=/home/git/repositories/root/git-playground-project.git", "rev-parse", "HEAD"] 
{:in=>#<IO:fd 13>, #<IO:fd 14>=>:close, :out=>#<IO:fd 16>, #<IO:fd 15>=>:close, :err=>#<IO:fd 18>, #<IO:fd 17>=>:close} 

找到調試行和版本ify參數。

祝你好運!