env: bash \ r: এই জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই


93

আমি থেকে YouCompleteMe ইনস্টল করার চেষ্টা করছি এখানে

যখন আমি কার্যকর করি:

./install.sh --clang-completer

আমি এই ত্রুটি পেয়েছি:

env: bash\r: No such file or directory

পরিবেশের ভেরিয়েবলের সাথে আমি কী জানি না। এখানে আমার বাশ পথ:

which bash 
/bin/bash

আমার /usr/bashকি এটিতে পরিবর্তন করা দরকার ? যদি হ্যাঁ, তবে আমি কীভাবে এটি করব? আমি ~/.bashrcফাইল পরিবর্তন করার চেষ্টা করেছি , তবে এটি কার্যকর হয়নি।

উত্তর:


158

ত্রুটি বার্তাটি পরামর্শ দিচ্ছে\r যে আপনি যে স্ক্রিপ্টটি ব্যবহার করছেন তাতে এম্বেড করা অক্ষর রয়েছে যা ফলস্বরূপ সুপারিশ করে যে এটিতে কেবলমাত্র লাইনের সমাপ্তির প্রত্যাশার পরিবর্তে উইন্ডোজ-স্টাইল \r\nলাইনের শেষ রয়েছে\nbash

দ্রুত সমাধান হিসাবে , আপনি \rচরগুলি সরাতে পারেন । নিম্নরূপ:

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

নোট: $'...'স্ট্রিং একটি হল ANSI-সি উদ্ধৃত পংক্তি সমর্থিত bash, kshএবং zsh। স্ক্রিপ্টটি দেখার \rআগে sedএটি কোনও সত্যিকারের সিআর চরিত্রের দিকে প্রসারিত হয় তা নিশ্চিত করার জন্য এটি ব্যবহার করা হয় , কারণ সমস্ত sedবাস্তবায়ন নিজেই \rএকটি পালানোর ক্রম হিসাবে সমর্থন করে না ।

এবং তারপর চালান

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

তবে, বৃহত্তর প্রশ্নটি হল আপনি কেন \r\nস্টাইল ফাইলগুলি দিয়ে শেষ করেছেন - সম্ভবত, অন্যান্য ফাইলগুলিও প্রভাবিত হয়।

সম্ভবত আপনি চালাচ্ছেন Windows এ গীত , যেখানে একটা টিপিক্যাল কনফিগারেশন ইউনিক্স-শৈলী রূপান্তর হয় \nউইন্ডোজ শৈলী -only লাইন ব্রেক \r\nউপর লাইন ব্রেক আউট ফাইল পরীক্ষণ এবং পুনরায় রূপান্তর \nউপর -only লাইন ব্রেক সংগঠনের

এই জন্য জ্ঞান করে তোলে উন্নয়ন Windows এ, এটা পথে পায় ইনস্টলেশন পরিস্থিতিতে এই ধরনের।

করতে গীত Windows এ ইউনিক্স-শৈলী ফাইল শেষা w শ ফাইল খুঁজে বার করো করতে অন্তত সাময়িকভাবে - - ব্যবহার:

git config --global core.autocrlf false

তারপরে git cloneআবার জড়িত আপনার ইনস্টলেশন কমান্ডগুলি চালান ।

পরে গিটের আচরণ পুনরুদ্ধার করতে, চালান git config --global core.autocrlf true



17

আপনার ফাইলটির উইন্ডোজ লাইনের শেষ রয়েছে। ইউনিক্স লাইনের শেষে পরিবর্তন করুন।


13

অনুরূপ কিছু মধ্যে দৌড়ে। আপনি dos2unix install.shলাইন শেষ রূপান্তর করতে ব্যবহার করতে পারেন । এর মাধ্যমে একাধিক ফাইলfind [pattern] | xargs dos2unix


4
আপনি ব্যবহার করতে পারেন:find . -type f -exec dos2unix {} \;
s.ouchene

13

লাইন এন্ডিং রূপান্তর করার জন্য দ্রুত কমান্ড:

dos2unix thescript.sh

3

আমার ক্ষেত্রে আমার একটি গিট কনফিগারেশন ছিল। গিট ডকুমেন্টেশন বলে:

আপনি যদি উইন্ডোজে প্রোগ্রামিং করছেন এবং এমন লোকদের সাথে কাজ করছেন যারা (বা তদ্বিপরীত) নয়, আপনি সম্ভবত কিছু সময় লাইন-এন্ডিং ইস্যুগুলিতে চলে যাবেন you'll

আমি ম্যাক ওএস ব্যবহার করছি এবং আমার এক প্রকল্পে আমার ঠিক এই সমস্যাটি রয়েছে। তার সমাধানের আমি রওনা autocrlfকরার trueযা ভুল ছিল।

আপনি এইভাবে autocrlfআপনার গিট কনফিগারেশনের অবস্থা পরীক্ষা করতে পারেন :

git config core.autocrlf

সুতরাং যদি এই trueগিটার সংগ্রহস্থলের মধ্যে এটি ফিরে আসে এবং সমস্যা দেখা দেয় তবে আপনাকে সেই কনফিগারেশনটি পরিবর্তন করতে হবে

git config --global core.autocrlf input

ম্যাক / ইউনিক্স সিস্টেমে। উইন্ডোজ কেবলমাত্র প্রকল্পগুলির জন্য আপনি ব্যবহার করতে পারেন

git config --global core.autocrlf false

আমার ক্ষেত্রে আমি গিট সংগ্রহস্থলটি মুছলাম এবং আবার এটি ক্লোন করেছি এবং এরপরে প্রত্যাশা অনুযায়ী সবকিছু আবার কাজ করেছে।

Https://www.git-scm.com/book/en/v2/Customizing-Git-Git-Configration এ আরও জানুন


3

উপরের মন্তব্যগুলি যেমন বলেছে, উইন্ডোজ লাইন শেষ হওয়ার কারণে এটি ঘটছে। সমস্যা সমাধানের জন্য এই পদক্ষেপগুলি অনুসরণ করুন

ম্যাকের জন্য:

brew install dos2unix # Installs dos2unix Mac
find . -type f -exec dos2unix {} \; # recursively removes windows related stuff

লিনাক্সের জন্য:

sudo apt-get install -y dos2unix # Installs dos2unix Linux
sudo find . -type f -exec dos2unix {} \; # recursively removes windows related stuff

এবং আপনার গিট কনফিগারেশনটি নীচে সেট করা আছে তা নিশ্চিত করুন:

git config --global core.autocrlf input

অবশেষে কাজ করা। আমি 2 দিনের জন্য এই সমস্যার মুখোমুখি ছিলাম এবং এটি গিথুব থেকে ক্লোন করে দেওয়া প্রকল্পটি থেকে উইন্ডোজ লাইন সমাপ্তির সমাপ্তি এবং শেষ পর্যন্ত আপনার সমাধানটি সঠিক সমাধান ছিল। ধন্যবাদ
রিদ্ধি

4
আমি আপনাকে আনন্দিত করে আনন্দিত :)
সালভি শাহজাদ

অবশেষে নিখুঁতভাবে কাজ। আপনাকে অনেক ধন্যবাদ
মুহাম্মদ আশফাক

2

আমার ক্ষেত্রে আমার একটি গিট কনফিগারেশন ছিল। গিট ডকুমেন্টেশন বলে:

আপনি যদি উইন্ডোজে প্রোগ্রামিং করছেন এবং এমন লোকদের সাথে কাজ করছেন যারা (বা তদ্বিপরীত) নয়, আপনি সম্ভবত কিছু সময় লাইন-এন্ডিং ইস্যুগুলিতে চলে যাবেন you'll

আমি ম্যাক ওএস ব্যবহার করছি এবং আমার এক প্রকল্পে আমার ঠিক এই সমস্যাটি রয়েছে। তার সমাধানের আমি টিউন autocrlfকরতে true

আপনি এইভাবে autocrlfআপনার গিট কনফিগারেশনের অবস্থা পরীক্ষা করতে পারেন :

git config core.autocrlf

সুতরাং যদি এই trueগিটার সংগ্রহস্থলের মধ্যে এটি ফিরে আসে এবং সমস্যা দেখা দেয় তবে আপনাকে সেই কনফিগারেশনটি পরিবর্তন করতে হবে

git config --global core.autocrlf input

যা ম্যাক / ইউনিক্স সিস্টেমের জন্য সঠিক। উইন্ডোজ কেবলমাত্র প্রকল্পগুলির জন্য আপনি ব্যবহার করতে পারেন

git config --global core.autocrlf false

আমার ক্ষেত্রে আমি গিট সংগ্রহস্থলটি মুছলাম এবং আবার এটি পরীক্ষা করে দেখলাম এবং তারপরে সবকিছু প্রত্যাশা অনুযায়ী কাজ করেছে worked

Https://www.git-scm.com/book/en/v2/Customizing-Git-Git-Configration এ আরও জানুন


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.