6

Tôi đã phá vỡ đầu của tôi trong này hơn 2 ngày nay, và dường như không thể tìm ra nơi mà vấn đề là. Đây chủ yếu là một vấn đề liên quan đến thiết lập của tôi, nhưng nếu có ai có thể giúp tôi tìm ra giải pháp cho vấn đề này, thì tôi sẽ là nô lệ của anh ấy vĩnh cửu ..!Rails sprocket Lỗi biên dịch CSS assest - CHOWN issue

Tôi đang chạy Báo tuyết (máy chủ) và VMware fusion chạy máy chủ Ubuntu Lucid (hệ điều hành khách). Bằng cách nào đó sau rất nhiều đầu đập tôi quản lý để có được không gian làm việc của tôi được chia sẻ từ Mac để Ubuntu. Vì vậy, về cơ bản tôi đã có thể cô lập môi trường dev của tôi trên máy ảo, điều này giúp cho toàn bộ nhóm dev ở cùng một môi trường bất kể hệ điều hành/cài đặt máy chủ của họ, v.v. , Tôi đang mắc kẹt với một vấn đề cụ thể xảy ra do sprockets (tôi đoán). Mỗi lần tôi thực hiện thay đổi để stylesheets của tôi và tải lại, tôi nhận được lỗi này:

Error compiling CSS asset 

Errno::EPERM: Operation not permitted - /mnt/hgfs/banjarey/tmp/cache/assets/DCF/780/sprockets%2F5f78b3457def1d02bd3fb75d4e0cfb63 

/home/coderboy/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.0/lib/active_support/core_ext/file/atomic.rb:38:in `chown' 

Điều strage mặc dù là nếu tôi tải lại trang hai hoặc ba lần, css biên dịch và mọi thứ hoạt động ổn.

Thật là xấu hổ khi tải lại trang hai lần hoặc ba lần cho mỗi lần thay đổi css đơn lẻ mà tôi thực hiện. Tôi đã chơi xung quanh với các thành viên và quyền hạn một chút, nhưng là một nghiệp dư tôi đã không mạo hiểm đủ sâu tôi đoán.

Bất kỳ người dùng ý tưởng nào ??

+0

Tôi chắc chắn đây là vấn đề về quyền đối với hệ thống tệp. – thomasfedb

+0

@thomasfedb yup Tôi khá chắc chắn nó giống nhau ... mặc dù thực sự không thể tìm ra lý do tại sao nó xảy ra hai lần/ba lần mỗi lần, và sau đó chỉ đơn giản là làm việc! – hashpipe

Trả lời

2

Tôi có cùng một vấn đề. giải pháp của tôi là sửa đổi Quyền Tập tin sau khi các tài sản biên dịch trước:

#chown apache.root yourapp -R 
#chmod 755 yourapp -R 
2

Một chút trễ với câu trả lời này, nhưng mỗi khi ứng dụng được triển khai không có vẻ là một giải pháp tốt. Tôi nghĩ rằng vấn đề là ví dụ apache của bạn và trường hợp hành khách của bạn đang chạy như người dùng khác nhau. Vì vậy, giải pháp là để kiểm tra những gì người sử dụng máy chủ apache của bạn đang chạy như và thiết lập các PassengerDefaultUser,

Ví dụ:

PassengerDefaultUser www-data

này đã làm việc cho tôi. Vì Hành khách đang tạo tệp chỉ có thể đọc được bởi không ai, kỳ lạ là nếu bạn chỉ làm mới vài lần một số cách hoạt động, nhưng đảm bảo họ là cùng một người dùng dừng lỗi này.

+0

Bạn đã thay đổi điều này bằng cách nào? – AustinT

1

Tôi gặp phải lỗi tương tự, nhưng đang phát triển! Được giải quyết sau khi làm sạch và biên dịch lại tài sản:

rake assets:clean && rake assets:precompile 
0

Đảm bảo hệ thống tệp cơ bản hỗ trợ thao tác được yêu cầu. Các lệnh sau đã sửa nó cho tôi.

mv public/assets /tmp 
ln -s /tmp/assets public/assets