2011-11-26 14 views
7

'her mücevher' kullanarak, ben günlüğüne bir hata alıyorum:Raylar 3 - Her ne zaman mücevher hatası:/usr/bin/env: yakut: Böyle bir dosya ya da dizin

/usr/bin/env: ruby: No such file or directory 

O zaman çalışır İşi manuel olarak çalıştırıyorum. RVM ile her şeyi kurdum.

benim Ruby yükleme nerede olduğunu bulmak için which komutunu kullandım ve ben alıyorum:

[email protected]:/opt/personal$ which ruby 
/home/kevin/.rvm/rubies/ruby-1.9.2-p290/bin/ruby 

ve bunu döndüren benim $ PATH değişkeni kontrol ettim:

[email protected]:/opt/personal$ echo $PATH 
/home/kevin/.rvm/gems/ruby-1.9.2-p290/bin:/home/kevin/.rvm/gems/[email protected]/bin:/home/kevin/.rvm/rubies/ruby-1.9.2-p290/bin:/home/kevin/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 

Bunun doğru bir şekilde ayarlanması gerektiğine inanıyorum, ama işe yaramadığı için muhtemelen yanıldım. Beni doğru yöne yönlendiren var mı? İlginizi çekiyorsa

, bu benim her crontab çıkış budur: her üretimde RVM ve bundler ile başarıyla kullanıyorum

# Begin Whenever generated tasks for: rss 
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /bin/bash -l -c 'cd /opt/personal && script/rails runner -e development '\''FeedEntry.update_from_feed("http://lovely/blog/feed/")'\'' >> /opt/personal/log/feedzirra.log 2>&1' 

cevap

1

. İşte size yardımcı olabilecek benim capistrano kurulumunun ilgili parçalarıdır: Ben çok aşamalı dağıtım kurulumu kullanıyorum çünkü

# rvm and bundler integration 
require 'rvm/capistrano' 
require 'bundler/capistrano' 

# RVM environment 
set :rvm_ruby_string, "[email protected]" 

# crontab 
set :whenever_roles, :cron 
set :whenever_command, "bundle exec whenever" 
set :whenever_environment, defer { stage } 
require 'whenever/capistrano' 

:whenever_environment ayardır. Bunu yoksayabilir veya gerekiyorsa kurulumunuza uyan bir dizeye ayarlayabilirsiniz.

Bu bilgilerin çoğunu README'deki "Capistrano tümleştirmesi" ve "RVM Entegrasyonu" bölüm başlıkları altında whenever github page adresinde bulabilirsiniz.

Umarım bu yardımcı olur.

6

Uzun bu konuda geçmiş ancak ileride başvurmak üzere muhtemelen konum:

Ben benzer bir sorun yalnızca ben

/usr/bin/env: ruby: No such file or directory 
Bu dosya komut dosyasının ilk satırını çıktı

\ raylar edildi başlamıştı vardı #!/usr/bin/env ruby1.9.1, sistemi here açıklandığı gibi ruby1.9.1 ile çağırmasını söyler. Ama bu benim kurduğum versiyon olduğundan #!/usr/bin/env ruby1.9.3 olmalıydı.

Umut bu gelecekte birisi yardımcı olur :)

+1

Dosyanın yolunu belirtmek daha iyi olurdu (uygulama klasörünün içinde) – skv

4

Sorunum yakut başsız Bash yolunda değil/usr/local/bin olduğunu oldu. Yani sadece schedule.rb benim tırmık görev çizgisini yaptı:

job_type :rake, "cd :path && PATH=/usr/local/bin:$PATH RAILS_ENV=:environment bundle exec rake :task :output" 
+0

Bir çekicilik gibi çalışır! – Ghazi

0

Dük hemen aynı sorunu çözdü. Dışında, $ PATH değişkeninin benim için çalışmadığını anladım. Bunların hiçbiri işe yaradıysa

sys_path = '/home/[user]/.rbenv/versions/[ruby_version]/bin' 

job_type :runner, "cd :path && PATH=#{sys_path} bin/rails runner -e :environment ':task' :output" 
job_type :rake, "cd :path && PATH=#{sys_path} :environment_variable=:environment bin/bundle exec rake :task --silent :output" 
2

, deneyin: Bu benim için bir iş yaptı

gem install rails 

, bu yardımcı olur umarım!

İlgili konular