2014-04-15 24 views
8

Khi tôi cố gắng chạy soạn nhạc tự động cập nhật, tôi nhận được lỗi:Composer thất bại trong việc tự động cập nhật

The file is corrupted (creating archive "/home/heytherejake/.composer/cache/composer-temp.phar" disabled by the php.ini setting phar.readonly). 
Please re-run the self-update command to try again. 

tôi đã thiết phar.readonly set to Off (và phpinfo của tôi phản ánh điều này), nhưng các lỗi vẫn xảy ra. Có ai biết điều gì khác có thể gây ra điều này?

+1

Có thể thử một cái gì đó như 'rm -rf ~/.composer/cache/*' (tự chịu rủi ro, nhưng không thấy làm thế nào nó có thể làm tổn thương). Hoặc hoàn toàn cài đặt lại Composer theo cách thủ công? – Sam

+0

Cố gắng để cài đặt lại Composer cho cùng một lỗi, thật không may. (vị trí khác nhau, mặc dù: Tải xuống bị hỏng (tạo lưu trữ "/etc/php5/apache2/composer.phar" bị tắt bởi cài đặt php.ini phar.readonly), hủy bỏ.) –

+0

Thú vị..điều gì khiến bạn cài đặt với? Mặc dù tôi không khuyên bạn nên điều này, tôi tò mò muốn biết nếu nó hoạt động cài đặt như superuser. – Sam

Trả lời

8

Nhà soạn nhạc không cập nhật hoặc hoạt động bình thường thường là do một trong hai điều. Quyền không hợp lệ và/hoặc bộ nhớ cache xấu.

Để Xóa bộ nhớ cache, sử dụng sudo rm -rf ~/.composer/cache/

Để khắc phục vấn đề giấy phép cho phép thay đổi composer.phar đến 755:

which composer 
sudo chmod 755 path/to/composer 

như một bình cuối cùng sửa chữa vấn đề này, cố gắng cập nhật với sudo sudo -H composer self-update

+3

KHÔNG BAO GIỜ làm 'chmod 777', làm ơn! –

+0

@UnamataSanatarai Thx để biết mẹo, nhưng bạn có thể xây dựng và cho tôi sửa chữa để tôi có thể cập nhật bài đăng của mình không? – NMC

+0

@NMC kiểm tra câu trả lời từ Paulo Pereira – bastey

9

Giải pháp tốt nhất là xóa nhà soạn nhạc và sau đó cài đặt lại:

i. Tìm Nhà soạn nhạc:

which composer 

ii. Sau đó, xóa nó dưới dạng sudo (sử dụng thư mục được trả về từ trên)

sudo rm -rf /usr/local/bin/composer 
sudo rm -rf ~/.composer/cache/ 

iii. Sau đó cài đặt nó bằng cách sử dụng apt-get

sudo apt-get update 
sudo apt-get install curl php5-cli git 
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer 

iv. Sau đó kiểm tra nếu nó làm việc

composer self-update 
Các vấn đề liên quan