কম সিএসএস সংকলক ফাঁকা ফিরছে


8

আমি এটি নিশ্চিত করতে পারি না কোথায় এটি ডিবাগ করা শুরু করবেন। কয়েক মাস আগে আমি আনন্দের সাথে আমার কম ফাইলগুলি থেকে আমার সিএসএস সংকলন করতে পারি। আজ, আমি হয় চালাই recess --compile test.lessবা lessc test.lessআমি খালি একটি আউটপুট পাই। কোনও ত্রুটি নেই। lessc test.less > test.cssকেবল একটি ফাঁকা ফাইল তৈরি করে। কম ত্রুটির জন্য টুইটার-বুটস্ট্র্যাপ মেকফিল, এগুলি সমস্ত সাহায্যমূলক না হয়।

আমি test.lessডিবাগ করার জন্য নিম্নলিখিত সাধারণটি ব্যবহার করছি :

@color: #4D926F;
#header {
  color: @color;
}
h2 {
   color: @color;
}

আমি উবুন্টু 12.10 উপর আছি, আমি ব্যবহার sudo apt-get install node-lessপ্রদান lesscএবং ইনস্টল GitHub উপর দিক থেকে ছুটি (npm)। উভয়ই আমাকে খালি আউটপুট দেয়।

এমনকি lessc --versionকিছুই ফেরত দেয় না।

 which lessc

শো

/usr/local/bin/lessc

এবং ফাইলটি খালি নেই।

আমার nodeইনস্টলেশনটি সম্ভবত কিছু ঘটেছে , তবে কীভাবে এটি ডিবাগ করা যায় তার কোনও ধারণা নেই। apt-get remove --purge node-lessএবং পুনরায় ইনস্টল করা কোনও উপকারে আসেনি।

সাহায্য বা ডিবাগিং সম্পর্কিত কোনও টিপসের জন্য অনেক ধন্যবাদ!


হ্যাঁ, /usr/local/bin/lesscযখন এটি সরকারী রেপো থেকে সঠিক অবস্থান নয়: প্যাকেজ.বুন্টু / কুন্টাল / সমস্ত / নোড-বিহীন / ফাইললিস্ট ... আমি মনে করি আপনি এটি সিস্টেমের পথে ইনস্টল করে রেখেছিলেন sudo npm ...যা সত্যিই খারাপ ধারণা।
dAnjou

উত্তর:


7

উবুন্টু এবং অন্যান্য বিতরণগুলিতে আপনার প্যাকেজগুলি ম্যানুয়ালি ইনস্টল করার পরিবর্তে বিতরণ প্যাকেজগুলি পছন্দ করা উচিত। সুতরাং, প্রথম সব, আপনি সরাতে উচিত ছুটি মাধ্যমে ইনস্টল npm :

sudo npm uninstall recess -g

এর মাধ্যমে ইনস্টল করা নোড-কম প্যাকেজটিও সরিয়ে দিন apt-get, যাতে আমরা একটি পরিষ্কার পরিবেশ দিয়ে শুরু করতে পারি:

sudo apt-get remove node-less

এই দুটি কমান্ড জারির পরে, নিশ্চিত হয়ে নিন যে নিম্নলিখিত ফাইলগুলি উপস্থিত নেই এবং যদি সেগুলি বিদ্যমান থাকে তবে সেগুলি মুছুন:

/usr/bin/lessc
/usr/local/bin/lessc

নিম্নলিখিত ডিরেক্টরিগুলিও পরীক্ষা করুন (এবং সেগুলি উপস্থিত থাকলে তা মুছে দিন):

/node_modules/less
/usr/bin/node_modules/less
/usr/node_modules/less
/usr/local/bin/node_modules/less
/usr/local/node_modules/less
~/.node_modules/less
~/.node_libraries/less

সমস্ত ফাইল এবং ডিরেক্টরিগুলি বিভিন্ন উপায়ে উত্পন্ন হতে পারে। বিভিন্ন ইনস্টলেশন পদ্ধতির সাহায্যে বিভিন্ন ডিরেক্টরি ব্যবহৃত হয়। কোনও কিছুই দ্বন্দ্ব না করে তা নিশ্চিত করার জন্য সমস্ত ফাইল মুছে ফেলা গুরুত্বপূর্ণ : আপনার সিস্টেমে সর্বদা একটি এবং একটি মাত্র সংস্করণ ইনস্টল হওয়া উচিত। একমাত্র ব্যতিক্রম হ'ল বিতরণ নিজেই একই সফ্টওয়্যারটির বিভিন্ন সংস্করণ সরবরাহ করে (এই ক্ষেত্রে, প্যাকেজ তৈরি করা হয় যাতে তারা একে অপরের সাথে বিরোধ না করে)।

এখন আপনার একটি পরিষ্কার পরিবেশ রয়েছে এবং নোড-কম ইনস্টল করতে পারেন :

sudo apt-get install node-less

মনে রাখবেন যে নোড-কম প্যাকেজটি /usr/bin/recessকেবল পাঠানো হয় না /usr/bin/lessc, সুতরাং এটি recess --compileব্যর্থ হলে পুরোপুরি ঠিক আছে (বা আরও ভাল, এটি অবশ্যই ব্যর্থ হবে)।

যদি lesscএখনও কাজ না করে থাকে তবে দয়া করে এর ফলাফলটি দেখুন which lessc। মনে রাখবেন: যদি এর থেকে আলাদা কিছু ফিরে আসে /usr/bin/lesscতবে এর অর্থ হ'ল আপনি বিতরণ প্যাকেজ থেকে কম ব্যবহার করছেন না, তবে অন্য কিছু।


আপনার ডিস্ট্রো প্যাকেজগুলি পছন্দ করতে হবে না, তবে অনুরূপ বাইনারি সরবরাহকারী ডিস্ট্রো এবং সংকলিত প্যাকেজগুলির মিশ্রণ আসলেই সমস্যাগুলির একটি রেসিপি।
জাভেয়ের রিভেরা

@ জাভিয়ার: হাই অবশ্যই আপনার কেবল বিতরণ প্যাকেজগুলি বেছে নেওয়ার দরকার নেই, তবে আমরা জিজ্ঞাসা উবুন্টুতে রয়েছি এবং আমি মনে করি সবচেয়ে উপযুক্ত সমাধান হ'ল এটি আপনাকে বিতরণ প্যাকেজগুলি কীভাবে ব্যবহার করবেন তা বলে। :-)
Andrea Corbellini

ঠিক একটি উজ্জ্বল উত্তর, সাবধানতার সাথে ব্যাখ্যা করার জন্য ধন্যবাদ। সবকিছু এখন যেমন করা উচিত তেমন কাজ করছে। আমি কীভাবে এনপিএমের কম ইনস্টল করা হয়েছে তার ডুড সংস্করণটি কীভাবে অর্জন করতে পেরেছি তা নিশ্চিত নয়, তবে অনুরূপ ডিস্ট্রো এবং সংকলিত প্যাকেজগুলি না মেশানোর বিষয়ে আমি সতর্কতা রেখেছি well এটি অত্যন্ত দুঃখের বিষয় যে প্রায়শই কেবল ডিস্ট্রো প্যাকেজগুলির উপর নির্ভর করা সম্ভব হয় না, বিশেষত রুবি ইত্যাদির সাথে
cboettig

1
@ কোয়েটিটিগ: আপনার মতামতের জন্য ধন্যবাদ, এটি সত্যই প্রশংসিত জাভিয়ের উল্লেখ করেছেন যে, আপনাকে বিতরণ প্যাকেজগুলি ব্যবহার করতে বাধ্য করা হবে না। তবে আপনি যখন তৃতীয় পক্ষের সফ্টওয়্যার ইনস্টল করবেন তখন মনে রাখবেন যে এটি ব্যাপী সিস্টেমটি ইনস্টল করবেন না। উদাহরণস্বরূপ, আমি পাইথন ভার্চুয়ালেনভ, ক্রুটস, লিনাক্স কনটেইনারস (এলএক্সসি) এবং কিমু ভার্চুয়াল মেশিনগুলি ব্যবহার করি যখন আমার বিতরণ সরবরাহ না করা সফ্টওয়্যার চালানোর প্রয়োজন হয় (বা যখন আমার বিশেষ সিস্টেম কনফিগারেশন প্রয়োজন)। এই সমস্ত প্রযুক্তি (এবং আরও অনেকগুলি) আপনাকে ব্যথা এড়িয়ে সফ্টওয়্যারটি আলাদা করতে সহায়তা করে।
আন্দ্রেয়া কারবেলিনি

রানিং lesscদেয় /usr/local/bin/lessc no such file or directory, কিন্তু দৌড় which lesscদেয় /usr/bin/lessc। আমি কীভাবে এটি থেকে কম ব্যবহার করতে বলব which lessc?
জ্যাকব ভ্যালেন্টা

3

আন্দ্রেয়ার উত্তর থেকে প্রাপ্ত পদক্ষেপগুলি অনুসরণ করার পরে source ~/.bashrcআপনি bash: /usr/local/bin/lessc: No such file or directoryযখন কম চালাবেন এবং কখন which lesscশো করবেন তখন আপনাকে পেতে হতে পারে /usr/bin/lessc। এটি আপনার AT PATH পরিবেশ পরিবর্তনশীল আপডেট করতে।


এছাড়াও এ ছাড়াও ইউনিক্স.স্ট্যাকেক্সচেঞ্জ / প্রশ্ন / 5609/… থেকে উত্তরটি নোট করুন ।
জেপ্প মারিয়ার-লাম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.