2015-03-14 17 views
24

Tôi đang cố gắng cài đặt YouCompleteMe từ here.env: bash r: Không có tệp hoặc thư mục nào như vậy

Khi tôi thực hiện:

./install.sh --clang-completer 

tôi nhận được lỗi này:

env: bash\r: No such file or directory 

Tôi không biết whats sai với biến môi trường. Đây là đường dẫn bash của tôi:

which bash 
/bin/bash 

Tôi có cần thay đổi thành/usr/bash không? Nếu có, thì tôi nên làm như thế nào? Tôi đã thử thay đổi tập tin ~/.bashrc, nhưng nó không hoạt động.

Trả lời

37

Thông báo lỗi cho thấy rằng kịch bản bạn đang gọi đã nhúng \r ký tự, do đó cho thấy rằng nó có Windows theo phong cách \r\n dòng kết thúc thay vì \n kết thúc dòng -only bash hy vọng.

Dưới dạng sửa nhanh, bạn có thể xóa ký tự \r. như sau:

sed $'s/\r$//' ./install.sh > ./install.Unix.sh 

và sau đó chạy

./install.Unix.sh --clang-completer 

Tuy nhiên, câu hỏi lớn hơn là lý do tại sao bạn đã kết thúc với \r\n file kiểu - có khả năng nhất, các file khác bị ảnh hưởng, quá.

Có lẽ bạn đang chạy Git trên Windows, nơi một cấu hình tiêu biểu là chuyển đổi kiểu Unix \n dòng -only phá vỡ vào Windows theo phong cách \r\n ngắt dòng trên file kiểm tra ra và tái chuyển đổi để \n ngắt dòng chỉ trên cam kết.

Trong khi này có ý nghĩa đối với sự phát triển trên Windows, nó được trong cách của cài đặt kịch bản như thế này.

Để làm Git kiểm tra các file với kết thúc tập tin Unix-phong cách trên Windows - ít nhất là tạm thời - sử dụng:

git config --global core.autocrlf false 

Sau đó chạy lệnh cài đặt của bạn liên quan đến git clone một lần nữa.

Để khôi phục hành vi của Git sau, hãy chạy git config --global core.autocrlf true.

6

Tệp của bạn có đuôi dòng Windows. Thay đổi thành kết thúc dòng Unix.

4

Chạy vào nội dung tương tự. Bạn có thể sử dụng dos2unix install.sh để chuyển đổi kết thúc dòng.Nhiều tệp qua find [pattern] | xargs dos2unix

Các vấn đề liên quan