লোড করার সময় রুবে অন রেলস কনসোল ঝুলছে


146

যে কারণেই হোক না কেন, রুবি অন রেলস কনসোল শুরু করতে অস্বীকার করেছে; এটা শুধু স্তব্ধ। আমি আমার কোডে কোনও পরিবর্তন করি নি, এবং অন্যান্য প্রকল্পগুলিতে রুবি এবং রুবেলের একই সংস্করণ ব্যবহার করে কোনও সমস্যা নেই। আমি অবশেষে যখন Ctrl+ Cআমি এই স্ট্যাক ট্রেস পাই, যা বসন্তের দিকে নির্দেশ করে।

আমি কেন এক মুহূর্ত থেকে পরের মুহুর্তে এটি ঘটছে তা ঠিক ব্যাখ্যা করতে পারছি না, যেখানে এটি ঠিকঠাক কাজ করছিল। আমি আরভিএম এর মাধ্যমে সমস্ত রত্নগুলি সাফ করে দিয়েছি এবং সমস্ত বান্ডিল কমান্ডের মাধ্যমে পুনরায় ইনস্টল করেছি, তবে এখনও ভাগ্য নেই। যে কোন ধরণের মতামতকে গুরুত্বসহকারে দেখা হবে।

আমি যতদূর বলতে পারি রেল অন রেলস সার্ভারে কোনও সমস্যা নেই। সমস্যাটি প্রকল্প সম্পর্কিত, যদিও কোনও কোড পরিবর্তিত হয়নি, এবং এটি কেবলমাত্র রুবি অন রেলস কনসোলটিতে রয়েছে।

রুবি ২.১.২
রেলগুলি ৪.১.৪

user_a@ubuntu:~/work/app_a$ rails console
^C/home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/run.rb:54:in `gets': Interrupt
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/run.rb:54:in `verify_server_version'
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/run.rb:25:in `call'
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/rails.rb:23:in `call'
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client.rb:26:in `run'
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/bin/spring:48:in `<top (required)>'
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `load'
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `<top (required)>'
    from /home/user_a/work/app_a/bin/spring:16:in `require'
    from /home/user_a/work/app_a/bin/spring:16:in `<top (required)>'
    from bin/rails:3:in `load'
    from bin/rails:3:in `<main>'

user_a@ubuntu:~/work/app_a$

উত্তর:


415

স্প্রিং পুনঃসূচনা হ্যাং কমান্ডগুলি ঠিক করা উচিত:

$ bin/spring stop

রেল অ্যাপ্লিকেশনটিতে নতুন রুবি মুছতে এবং পুনরায় তৈরি করার পরে আমি হ্যাঙ্গিং কমান্ডগুলি (রেক, বিন / রেল ইত্যাদি) অভিজ্ঞতা পেয়েছি। গুগল তেমন সহায়ক ছিল না। আমি আশা করি এটিই আছে।

আপনি যখন আপনার আদেশটি পুনরায় চালাবেন তখন বসন্তটি স্বয়ংক্রিয়ভাবে শুরু হবে।


এটি আমার জন্য রেল ৪.১.১ নিয়ে কাজ করেছে। এটি কী করছে তা দেখতে আমার বসন্তের রত্নটি পড়তে হবে।
জেটিমস

1
@ সিই-ডাব তবে এর পেছনের কারণ কী, বসন্ত কেন এটি রেলস কনসোল চালাচ্ছে না?
কমল

3
এটি আমার পক্ষে কার্যকর হয়নি। বসন্ত থামার পরেও আমি সমস্যাটি অনুভব করছি।
ডোনাটো

3
কেবল এই ইস্যুটিতে দৌড়েছি: যখন আমি দৌড়ে bin/spring stopএসেছি, তখন আমি প্রতিক্রিয়া পেয়েছি, Spring is not running.তাই আমি দৌড়ে গিয়েছিলাম ps aux | grep spring, 5 টি বসন্ত প্রক্রিয়া দেখেছি এবং ম্যানুয়ালি তাদের হত্যা করেছি, যা সমস্যাটি স্থির করেছে।
আয়ান টেলর

অ্যামেজিং! এটা কখনই অনুমান করতেন না।
রামবাতিনো

7

আমার ধারণা, বসন্তের রত্ন সংস্করণটিতে এটি কিছু ভুল।

আপনার জেমফাইলে যান এবং মণি 'বসন্ত' মন্তব্য করুন। তারপরে দৌড়ে bundle installআবার চেষ্টা করুন।

# gem 'spring'

এবং তারপর:

bundle install

যদি আপনার কাজ রত্নের উপর নির্ভর করে তবে রত্নগুলি আপডেট করে দেখুন:

bundle update

এটি আমার জন্যও লিনাক্স মিন্টে রেল ৪.১.৪ এর সাথে সমাধান করেছে
14:48 এ স্ল্যাক করুন

3
সতর্ক হতে bundle update। আপনি যদি সেভাবে এটি করেন তবে পুরো পরিবেশ জুড়ে আপনার রত্ন সংস্করণগুলিকে আমূল পরিবর্তন করার সুযোগ রয়েছে। এটি আপনি চান না এমন প্রচুর পার্শ্ব প্রতিক্রিয়া প্রবর্তন করতে পারে। আপনি bundle update springকেবল একটি রত্ন আপডেট করতেও করতে পারেন
জয়দেল

@ জয়ডেল আপনার সর্বদা আপনার ভার্সনগুলি রথ সংস্করণ সহ আপনার রত্নমঞ্চে রাখা উচিত। বান্ডিলার স্বয়ংক্রিয়ভাবে ছোট সংস্করণগুলি আপডেট করবে তবে প্রধান সংস্করণ নয়, তবে আপনি যে কোনও সময় আপনার মূল সংস্করণটি (যা আপনি জানেন যে আপনার অ্যাপ্লিকেশনটিতে কাজ করে তা) যে কোনও সময় ফিরে যেতে পারেন।
বেন অউবিন

আপনার জেমফাইলে সংস্করণ রাখার বিষয়ে - সম্মত। আমি বড় সংস্করণগুলিতে আপডেট করার ক্ষেত্রে বিধিনিষেধ সম্পর্কে জানতাম না তবে আমি যখন এটির মাধ্যমে চিন্তা করি তখন তা বোধগম্য হয় :) ভাল তথ্য, ধন্যবাদ
জায়েদেল

3

যদি $ bin/spring stopসমস্যাটি সমাধান না করে তবে অনাথ বসন্ত প্রক্রিয়া এখনও ঘুরে বেড়াচ্ছে না তা নিশ্চিত করে দেখুন:

$ ps aux | grep -i spring

এমন কিছু যদি দেখেন

user  7163  0.0  0.0 110356  2165 pts/3    S+   19:40   0:00 grep --color=auto -i spring
user 16980  0.0  0.4 398826 17580 ?        Sl   Aug31   0:00 spring server | current | started 277 hours ago     

তারপরে ত্রুটিযুক্ত বসন্ত প্রক্রিয়াটি মেরে ফেলুন এবং আবার কনসোলটি শুরু করার চেষ্টা করুন:

$ kill -9 16980 
$ rails c

1

যখন সন্দেহ হয় যে বসন্ত অদ্ভুততার কারণ, তখন এই আদেশটি চালানোর চেষ্টা করুন:

spring stop && spring start
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.