Sqlite3 v3.8 ইনস্টল করা হয়েছে, তবে ম্যাক টার্মিনালটি ডিফল্টরূপে এখনও পুরানো সংস্করণ 3.6 চালায়


9

আমার কাছে একটি ম্যাক চলছে ওএস এক্স 10.6.8, যা এসকিউএলাইট 3 ভি 3.6 এর সাথে প্রাক ইনস্টলড রয়েছে। আমি হোমব্রু ব্যবহার করে v3.8 ইনস্টল করেছি। তবে আমি যখন আমার টার্মিনালে "sqlite3" টাইপ করি এটি পুরানো প্রাক-ইনস্টল করা সংস্করণটি চালিয়ে যায়। কোন সাহায্য?

PATH ভেরিয়েবলের এর সাথে কিছু আছে কিনা তা নিশ্চিত নন, তবে প্রতিধ্বনি $ PATH চলমানের ফলাফল নিম্নলিখিত: /usr/local/bin:/ লাইব্রেরি / ফ্রেমওয়ার্কস / পাইথন.ফ্রেমওয়ার্ক / ভার্সন / 2.7/bin:/usr/bin:/ বিন: / usr / sbin: পক্ষ থেকে / sbin / usr / স্থানীয় / বিন / usr / ব্যবহারে X11 / বিন

এবং এসকিউএলাইট 3 এর নতুন সংস্করণটি নিম্নলিখিত ডিরেক্টরিতে রয়েছে: / usr / স্থানীয় / ভোক্তা / স্ক্লাইট

আমার যুক্ত করা উচিত যে আমি আমার ডেস্কটপে বাইনারি এক্সিকিউটেবলও ডাউনলোড করেছি এবং এটি যদি আমি আমার ডেস্কটপ থেকে ক্লিক করি তবে টার্মিনাল থেকে কাজ করে না works

কোন সাহায্যের ব্যাপকভাবে প্রশংসা হবে?

উত্তর:


2

$ PATH-

হ্যাঁ আপনাকে আপনার PATHভেরিয়েবলটি সেট করতে হবে :

$ export PATH=/usr/local/Cellar/sqlite:/usr/local/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

এই লাইনটি পড়তে কিছুটা জটিল হতে পারে তাই এখানে এটি কলোন দ্বারা বিভক্ত হয়ে গেছে এবং প্রতিটি পাথ তার নিজস্ব লাইনে রয়েছে:

$ awk -v addPath="$1" 'BEGIN{RS=":";ORS=addPath "\n"}{$1=$1}1' <<< $PATH
/usr/local/Cellar/sqlite
/usr/local/bin
/Library/Frameworks/Python.framework/Versions/2.7/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/usr/X11/bin

$PATHডিরেক্টরি একটি তালিকা রয়েছে - কোলন (দ্বারা পৃথক :যা একের পর এক মাধ্যমে শেল অনুসন্ধানসমূহ কি কখনও আপনি শুধু প্রম্পটে টাইপ করা খুঁজছেন -)। অর্ডারটি তাই গুরুত্বপূর্ণ যদি sqliteএটি একাধিক স্থানে প্রদর্শিত হয় যেখানে এটি খুঁজে পাওয়া প্রথম ডিরেক্টরি যেখানে এটি পাওয়া যাবে is

জিনিস কোথায় অবস্থিত?

typeনির্দিষ্ট অ্যাপ্লিকেশনটি কোথা থেকে আসছে তা দেখতে আপনি কমান্ডটি ব্যবহার করতে পারেন ।

উদাহরণ

$ type -a sqlite3 
sqlite3 is /usr/bin/sqlite3

আমি এখানে এটি -aস্যুইচ দিয়ে ব্যবহার করছি যা সমস্ত উপস্থিতি প্রদর্শন করবে:

$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls

যে কাজ! তোমাকে অনেক ধন্যবাদ. বিবৃতিতে কীভাবে একাধিক পাথ যুক্ত করা যায় তা আমি জানতাম না। এখন এটি স্পষ্ট হয়েছে যে তারা ":" দ্বারা পৃথক হয়েছে
ব্যান্ডফুজ অ্যালেক্স

@ user46531 - খুশি হ'ল আপনার সমস্যাটি সমাধান হয়েছে। প্রশ্নের জন্য ধন্যবাদ।
slm

@ user46531 কার্যকর হওয়ার সময়ে, এটিই ভুল সমাধান। আমার উত্তর দেখুন।
strugee

11

এসএমএল এর সমাধান আসলে ভুল (ব্যবহারের সময়)। Homebrew ব্যবহার /usr/local/Cellar/*করার সময় আপনার $ PATH এ যুক্ত করা উচিত নয় ; পরিবর্তে আপনার যা করা উচিত তা হ'ল /usr/local/binআপনার $ पथ (যা আপনি ইতিমধ্যে সম্পন্ন করেছেন) এ যুক্ত করা উচিত এবং তারপরে সেলারে জিনিসগুলি সিমলিংক করুন /usr/local/bin। যেহেতু এটি এইভাবে ডিজাইন করা হয়েছে, হোমব্রিউ স্পষ্টতই আপনার পক্ষে এটি খুব সহজেই করতে পারে:

brew link sqlite

স্বয়ংক্রিয়ভাবে প্রয়োজনীয় লিঙ্কগুলি তৈরি করবে। (হোমব্রিউ এবার আপনার জন্য স্বয়ংক্রিয়ভাবে এটি করেন নি কারণ স্ক্লাইটটি কেবল-কেবল-এর অর্থ, এটি আপনাকে ম্যানুয়ালি করা দরকার)।

পার্শ্ব নোট / বন্ধুত্বপূর্ণ অনুস্মারক হিসাবে, আপনাকে কখনই /usr/local/binসিস্টেমের পথে যুক্ত করা উচিত নয় , কেবল আপনার ব্যবহারকারীর পাথ। প্রোগ্রামগুলির ক্ষেত্রে অ্যাপল-সরবরাহিত স্ক্লাইটের প্রত্যাশা থাকলেও হোমব্রিউ-সরবরাহিত সংস্করণটি খুঁজে পেতে সমস্যা সৃষ্টি করে।


1
সম্ভবত একটি ভাল ধারণা না। ব্রিউ লিঙ্ক স্ক্লাইট: "সতর্কতা: স্ক্লাইটটি কেবল-কেবল এবং অবশ্যই - ফোর্সের সাথে যুক্ত হতে হবে"
মার্সেলো ক্যান্টোস

হ্যাঁ for এটিকে জোর করে সংযুক্ত করার নেতিবাচক পরিণতিগুলি (যদি থাকে) কী? কি ভেঙে যেতে পারে? সতর্কবাণী বার্তায় তাদের সত্যই কিছুটা ইঙ্গিত দেওয়া উচিত।
আইকনোক্লাস্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.