ГоловнаВсі публікаціїКатегоріїПро проєкт

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

Зміст дописунатисність на посилання, щоб перейти до потрібного місця
Іноді буває так, що тека 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 створює його при старті. У випадку, якщо файл існує, але процес, на який він посилається, вже неактивний, це може викликати помилку, і тоді файл потрібно видалити вручну перед повторним запуском сервера.
 Що означає ACID принцип у програмуванні?
24.09.2024 20:31

Що означає ACID принцип у програмуванні?

meme code
meme code@memecode
Що таке Сonvention over Сonfiguration (в контексті RoR і не тільки)?
26.09.2024 07:47

Що таке Сonvention over Сonfiguration (в контексті RoR і не тільки)?

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

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

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

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

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

Що таке PORO в Ruby?

meme code
meme code@memecode
Чим відрізняються spec_helper.rb і rails_helper.rb у RSpec?
08.12.2024 13:53

Чим відрізняються spec_helper.rb і rails_helper.rb у RSpec?

meme code
meme code@memecode
Що потрібно знати, щоб побудувати успішну кар'єру на фрілансі в IT
23.12.2024 16:03

Що потрібно знати, щоб побудувати успішну кар'єру на фрілансі в IT

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

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

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

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

meme code
meme code@memecode
06.02.2025 15:31

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

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

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

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

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

meme code
meme code@memecode