All original content is created in Ukrainian. Not all content has been translated yet. Some posts may only be available in Ukrainian.Learn more

[Фікс] No such file or directory @ rb_sysopen - tmp/pids/server.pid

Table of contentsClick link to navigate to the desired location
This content has not been translated yet.We're showing the original Ukrainian content below.
Іноді буває так, що тека tmp/pids губиться на локальній машині. Вона знаходиться з зрозумілих причин у gitignore. Як результат, сервер не може стартанути і показує помилку:
* Listening on http://0.0.0.0:3000bundler: failed to load command: puma (/Users/memecode/.rbenv/versions/3.3.5/bin/puma)/Users/memecode/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/puma-6.5.0/lib/puma/launcher.rb:316:in `write': No such file or directory @ rb_sysopen - tmp/pids/server.pid (Errno::ENOENT)
Текст помилики доволі буквальний:
No such file or directory @ rb_sysopen - tmp/pids/server.pid

Фіскимо помилку

Нам треба створити теку tmp/pids самостійно. Для цього можна з терміналу запустити:
mkdir -p tmp/pids
Перезапускаємо сервер, і він має успішно стартанути створивши файл server.pid.
Cуто з цікавості можна перевірити:
ls tmp/pids 
Має показати файл:
server.pid

Для чого потрібен server.pid?

Файл server.pid використовується сервером Rails для зберігання ідентифікатора процесу (PID) активного серверного процесу. Цей PID допомагає системі відстежувати, який саме процес відповідає за сервер. Перед запуском нового сервера Rails перевіряє наявність цього файлу. Якщо файл є, а процес, на який він вказує, досі активний, Rails не дозволяє запустити новий сервер, щоб уникнути конфліктів. 
Тобто саме цей відповідає за те, щоб ви випадково не запустили другий сервер за допомогою rails s в сусідній табі терміналу.
Крім того, файл допомагає правильно завершити роботу сервера. Коли сервер зупиняється, файл server.pid автоматично видаляється, сигналізуючи, що сервер більше не працює і його можна перезапустити без проблем. Якщо ж файл відсутній, Rails створює його при старті. У випадку, якщо файл існує, але процес, на який він посилається, вже неактивний, це може викликати помилку, і тоді файл потрібно видалити вручну перед повторним запуском сервера.

This post doesn't have any additions from the author yet.

 What does the ACID principle mean in programming?
24 Sep 20:31

What does the ACID principle mean in programming?

meme code
meme code@memecode
What is Sonvention over Sonfiguration (in the context of RoR and beyond)?
26 Sep 07:47

What is Sonvention over Sonfiguration (in the context of RoR and beyond)?

meme code
meme code@memecode
Округлення десяткових чисел: математичні правила, JavaScript і Ruby
18 Oct 12:59

Округлення десяткових чисел: математичні правила, JavaScript і Ruby

meme code
meme code@memecode
[Фікс] Factory not registered: "user" (KeyError) (FactoryBot / Rails 7)
07 Dec 10:46

[Фікс] Factory not registered: "user" (KeyError) (FactoryBot / Rails 7)

meme code
meme code@memecode
Що таке PORO в Ruby?
08 Dec 12:46

Що таке PORO в Ruby?

meme code
meme code@memecode
What is the difference between spec_helper.rb and rails_helper.rb in RSpec?
08 Dec 13:53

What is the difference between spec_helper.rb and rails_helper.rb in RSpec?

meme code
meme code@memecode
What you need to know to build a successful freelance career in IT
23 Dec 16:03

What you need to know to build a successful freelance career in IT

meme code
meme code@memecode
Віртуальний хмарний сервер: що це таке та в чому його особливість
03 Jan 10:58

Віртуальний хмарний сервер: що це таке та в чому його особливість

meme code
meme code@memecode
[Fix] Heroku / SearchBox addon - помилка ідексації "The client is unable to verify that the server is Elasticsearch"
31 Jan 13:09

[Fix] Heroku / SearchBox addon - помилка ідексації "The client is unable to verify that the server is Elasticsearch"

meme code
meme code@memecode
06 Feb 15:31

Фікс помилки [DEPRECATION] #adapters is deprecated. Use #profiles instead. (Codecov / docile)

meme code
meme code@memecode
Що таке Promise у JavaScript і як швидко зрозуміти суть?
18 Feb 11:01

Що таке Promise у JavaScript і як швидко зрозуміти суть?

meme code
meme code@memecode
Структура Promise (JavaScript) та як з цим працювати
18 Feb 14:33

Структура Promise (JavaScript) та як з цим працювати

meme code
meme code@memecode