2017-02-14 17 views
19

Tôi nhận được lỗi sau khi chạy ứng dụng ray của tôi trong máy chủ UbuntuNghe lỗi: không có khả năng theo dõi các thư mục cho những thay đổi

FATAL: Listen error: unable to monitor directories for changes. Visit https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers for info on how to fix this.

Tôi đã theo trên trang GitHub, nhưng tôi đã không thể viết trong max_user_watches mà được đặt trong 8192 và tôi muốn đặt thành 524288. trong cat /proc/sys/fs/inotify/max_user_watches tệp chỉ ở chế độ đọc.I đã cố gắng cấp quyền ghi, nhưng tôi đã nhận được sự cho phép bị từ chối lỗi ngay cả với quyền truy cập root.

Cảm ơn bạn đã thăng cấp !!!

+0

Đôi khi điều này có thể xảy ra nếu quá nhiều quá trình cố truy cập cùng một thư mục như dự án đường ray của bạn. Ví dụ: Tôi đã truy cập vào thư mục dự án đường ray trên 2 IDE Sublime, VS Code cũng có một vài tiến trình làm việc trên cùng một thư mục. Vì vậy, trong khi bắt đầu máy chủ tôi phải đối mặt với cùng một lỗi. Nếu bạn không muốn tăng giới hạn người xem, chỉ cần tắt bất kỳ quy trình nào truy cập thư mục đó. Nó sẽ hoạt động. – Swaps

Trả lời

21

Nghe sử dụng inotify theo mặc định trên Linux để theo dõi các thư mục để thay đổi. Nó không phải là không phổ biến để gặp phải một giới hạn hệ thống về số lượng các tập tin bạn có thể theo dõi. Ví dụ, Ubuntu Lucid (64bit) Giới hạn inotify được thiết lập để 8192.

1000 là quá nhỏ, hãy thử với 524.288 như đã giải thích trong trang wiki: https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers

Từ wiki Nếu bạn đang chạy Debian , RedHat, hay cách khác phân phối Linux tương tự, chạy lệnh sau trong terminal:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p 

Nếu bạn đang chạy ArchLinux, chạy lệnh sau thay vì

echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system 
5

Chỉ cần cố gắng để thực hiện điều này từ giao diện điều khiển của bạn:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p 

Hy vọng điều này sẽ làm việc cho bạn.

Tham chiếu: click here

+0

đã làm việc cho tôi, cảm ơn –

+0

Luôn được chào đón. –

1

Đối với những người khác có thể gặp sự cố này. Tôi đã có một ngắt kết nối VM mà trái máy chủ đường ray trước đó chạy. Việc chạy bên dưới giải quyết được vấn đề mà không cần tăng số lượng người xem.

kill -9 $(lsof -i tcp:3000 -t) 
Các vấn đề liên quan