मैं bundle update
भाग गया और sprockets
से 3.0.0 तक अपडेट किया।कैपिस्ट्रानो 3 + स्प्राकेट्स 3 + रेल 4.2.1 तैनात नहीं होगा?
जब मैं Capistrano 3 के माध्यम से तैनात करने के लिए मैं करने के निम्न त्रुटि कोशिश:
INFO [e54ac5ca] Running /usr/bin/env cp /var/www/testapp/releases/20150414002210/public/assets/manifest* /var/www/testapp/releases/20150414002210/assets_manifest_backup as [email protected]
DEBUG [e54ac5ca] Command: cd /var/www/testapp/releases/20150414002210 && /usr/bin/env cp /var/www/testapp/releases/20150414002210/public/assets/manifest* /var/www/testapp/releases/20150414002210/assets_manifest_backup
DEBUG [e54ac5ca] cp: cannot stat ‘/var/www/testapp/releases/20150414002210/public/assets/manifest*’
DEBUG [e54ac5ca] : No such file or directory
DEBUG [d2c5a990] cp: cannot stat ‘/var/www/testapp/releases/20150414002210/public/assets/manifest*’
DEBUG [d2c5a990] : No such file or directory
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as [email protected]: cp exit status: 1
cp stdout: Nothing written
cp stderr: cp: cannot stat ‘/var/www/testapp/releases/20150414002210/public/assets/manifest*’: No such file or directory
/Users/HomeHome/.rvm/gems/ruby-2.1.3/gems/sshkit-1.7.1/lib/sshkit/runners/parallel.rb:16:in `rescue in block (2 levels) in execute'
/Users/HomeHome/.rvm/gems/ruby-2.1.3/gems/sshkit-1.7.1/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute'
SSHKit::Command::Failed: cp exit status: 1
cp stdout: Nothing written
cp stderr: cp: cannot stat ‘/var/www/testapp/releases/20150414002210/public/assets/manifest*’: No such file or directory
/Users/HomeHome/.rvm/gems/ruby-2.1.3/gems/sshkit-1.7.1/lib/sshkit/command.rb:95:in `exit_status='
/Users/HomeHome/.rvm/gems/ruby-2.1.3/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:179:in `block in _execute'
/Users/HomeHome/.rvm/gems/ruby-2.1.3/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:133:in `tap'
/Users/HomeHome/.rvm/gems/ruby-2.1.3/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:133:in `_execute'
/Users/HomeHome/.rvm/gems/ruby-2.1.3/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:66:in `execute'
/Users/HomeHome/.rvm/gems/ruby-2.1.3/gems/capistrano-rails-1.1.2/lib/capistrano/tasks/assets.rake:68:in `block (5 levels) in <top (required)>'
/Users/HomeHome/.rvm/gems/ruby-2.1.3/gems/sshkit-1.7.1/lib/sshkit/backends/abstract.rb:77:in `within'
/Users/HomeHome/.rvm/gems/ruby-2.1.3/gems/capistrano-rails-1.1.2/lib/capistrano/tasks/assets.rake:67:in `block (4 levels) in <top (required)>'
/Users/HomeHome/.rvm/gems/ruby-2.1.3/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:54:in `instance_exec'
/Users/HomeHome/.rvm/gems/ruby-2.1.3/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:54:in `run'
/Users/HomeHome/.rvm/gems/ruby-2.1.3/gems/sshkit-1.7.1/lib/sshkit/runners/parallel.rb:13:in `block (2 levels) in execute'
Tasks: TOP => deploy:assets:backup_manifest
(See full trace by running task with --trace)
The deploy has failed with an error: #<SSHKit::Runner::ExecuteError: Exception while executing as [email protected]: cp exit status: 1
cp stdout: Nothing written
cp stderr: cp: cannot stat ‘/var/www/testapp/releases/20150414002210/public/assets/manifest*’: No such file or directory
मैं संभवतः यही समस्याएं आ रही लोगों के लिए चारों ओर देखा है और ऐसा लगता है कि उनमें कोई समस्या या उस पर टिप्पणी नहीं कर रहे हैं कहीं भी ...
ईमानदारी से मुझे यह भी सुनिश्चित नहीं है कि sprockets
, sprockets-rails
रेल से संबंधित हैं। यह मेरे लिए काफी उलझन में है ... उदाहरण के लिए, जो ताजा Rails 4.2.1
ऐप के साथ आता है, कहते हैं कि Gemfile.lock
में स्पॉकेट्स 3.0.0 की अनुमति है, फिर भी जब आप स्पॉकेट 2-> 3 अपग्रेड गाइड पर जाते हैं, तो यह दिखाता है कि //= include
हटा दिया गया है, फिर भी यह application.js
फ़ाइल में ठीक है।
तो, शायद मुझे कुछ याद आ रहा है, लेकिन मुझे पूरा यकीन नहीं है कि इसे कैसे हल किया जाए।
उन्नयन Capistrano-रेल द्वारा इस तय वास्तव में आप स्थानीय स्तर पर संपत्ति precompile और बाद में भंडार करने के लिए उन्हें प्रतिबद्ध करने के लिए जरूरत नहीं है। यह एक बग है, और कैपिस्ट्रानो-रेल लोग अभी इस पर काम कर रहे हैं: https://github.com/capistrano/rails/pull/112 और https://github.com/capistrano/rails/issues/111 वैसे भी , इस तरह के विस्तृत उत्तर के लिए अंगूठे! –
ओह, अच्छी जानकारी, धन्यवाद। कैपिस्ट्रानो के साथ तैनाती करते समय, मैं हमेशा एक तैनाती रणनीति पसंद करता हूं जो _deploy branch_ का उपयोग करता है, ताकि "संकलित संपत्तियां" आपके _master_ को प्रदूषित न करें। इसके अलावा, अधिकतर आप सर्वर के क्लस्टर पर तैनात नहीं होंगे, और मुझे आपके द्वारा तैनात प्रत्येक सर्वर पर उन्हें बार-बार संकलित करने में अक्षमता मिलती है। साथ ही, उन्हें स्थानीय रूप से प्रीकंपलिंग करना सीडीएन में अपलोड करने के लिए स्वचालित (कैप तैनाती कार्य के भीतर) स्वचालित करना आसान बनाता है। – tompave
@mid से टिप्पणी पर विस्तार करने के लिए, क्या हुआ यह है कि स्पॉकेट 3.0.0 [एक बदलाव प्रस्तुत किया गया] [https://github.com/rails/sprockets/commit/ce6508e8540f829c6221afa39fdf718e4dded096) जहां इसे manifest.json से मेनिफेस्ट फ़ाइल का नाम दिया गया to .sprockets-manifest.json। हम दोनों फाइल नामों की जांच करने के लिए कैपिस्ट्रानो-रेल को अद्यतन करने की प्रक्रिया में हैं और जो भी इसे पाता है उसका उपयोग करें। –