ব্রাউজারিফাই ত্রুটি / usr / bin / env: নোড: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই


85

আমি অ্যাপড-গেট ইনস্টল এবং সমস্ত নির্ভরতাগুলির মাধ্যমে নোড জেএস এবং এনএমপি ইনস্টল করেছি, তারপরে আমি ব্রাউজারফাই ইনস্টল করেছি

npm install browserify -g

এটি প্রক্রিয়াটির মধ্য দিয়ে যায় এবং মনে হয় এটি সঠিকভাবে ইনস্টল হয়েছে তবে আমি যখন এই ওয়াকথ্রোতে একটি সাধারণ বান্ডিল করার চেষ্টা করি

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

/ usr / bin / env: node: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই

এখানে চিত্র বর্ণনা লিখুন


এইচএমএম আপনার চেক করা উচিত নোড এক্সিকিউটেবল / ইউএসআর / বিন বা / ইউএসবি / বিন / এনভিতে অন্তত এটি অপারেটিং নির্দিষ্ট সমস্যা কিনা। আপনি ব্রাউজারফাই স্থানীয় ইনস্টল করে এটি সমাধান করতে সক্ষম হতে পারেন।
বোডোকাইজার

আমার ব্রাউজারফেরাই এক্সিকিউটেবল / ইউএসআর / লোকাল / বিন / এ থাকলেও কি এটি অন্যরকম কিছু বলছে যে পথটি গোলমাল হয়েছে?
এডুয়ার্ডো ডেনিস

4
আহ আপনাকে উবুন্টুতে নোড দেওয়ার জন্য নোডেজ সিমেলিং করতে হবে। উবুন্টু নোডেজ হিসাবে নোড ইনস্টল করে তারপরে আপনাকে "ln -s / usr / bin / nodejs / usr / bin / node" এর মতো কিছু করতে হবে যাতে সিস্টেমগুলি এটিকে নোড হিসাবে খুঁজে পায়
বোডোকাইজার

4
এটি সমাধান করেছে: -পিআই গত ঘন্টা ধরে আমার মাথাটি ভেঙে চলেছে, আপনি কি দয়া করে উত্তর ফর্ম্যাটটি গ্রহণ করতে পারেন?
এডুয়ার্ডো ডেনিস

4
খুশি এটির কাজটি নিশ্চিত হওয়া নিশ্চিত ছিল না যে আসলেই এই সমস্যাগুলি হ'ল কেন আমি প্রথম মন্তব্য করেছি :)
বোডোকাইজার

উত্তর:


246

কিছু লিনাক্স বিতরণ "নোড" এক্সিকিউটেবল হিসাবে নয় "নোডেজ" হিসাবে নোডেজ ইনস্টল করে।

এই ক্ষেত্রে আপনাকে "নোড" এর সাথে ম্যানুয়ালি লিঙ্ক করতে হবে কারণ "নোড" বাইনারি পরে অনেকগুলি প্যাকেজ প্রোগ্রাম করা হয়েছে। "পাইথন 2" "পাইথন" এর সাথে সংযুক্ত না হওয়ার সাথেও একই রকম কিছু ঘটে।

এই ক্ষেত্রে আপনি একটি সহজ সিমলিংক করতে পারেন। লিনাক্স বিতরণের জন্য যা প্যাকেজ বাইনারিগুলি ইনস্টল /usr/binকরতে পারে

ln -s /usr/bin/nodejs /usr/bin/node

4
এটি উবুন্টু 14.04 এর সমাধান নয় কারণ /usb/sbin/nodeঅক্ষ 24-নোড (নোডেজের সাথে সম্পর্কিত নয়)। কেবল প্রতীকী লিঙ্কিং /usr/bin/nodeকাজ করবে না কারণ/usr/sbin/node$PATH
গ্যারেথ

8
এটি সমাধানের সঠিক উপায়টি হ'ল ব্যবহার করা update-alternatives। আমার উত্তর এখানে দেখতে stackoverflow.com/a/24592328/454615
airtonix

4
আসলে এই সম্পর্কে আরও চিন্তা করা ... এই জাতীয় চারপাশে বাইনারিগুলি সিমলিংক করা যদি আপনি আপনার সিস্টেমটি ভাঙার চেষ্টা করছেন তবে অবলম্বন করা একটি দুর্দান্ত অভ্যাস।
এয়ারটোনিক্স

হ্যাঁ আমি লক্ষ্য করেছি যে এটি সূক্ষ্ম উপায়ে এটি ভেঙে যায়, আপনি কি আরও ভাল সমাধান খুঁজে পেয়েছেন?
এডুয়ার্ডো ডেনিস 21

4
@ এডুয়ার্ডোডেনিস হ্যাঁ, ব্যবহার করুন update-alternatives। এটি এই সঠিক পরিস্থিতির জন্য বিদ্যমান।
এয়ারটোনিক্স

52

নতুন উত্তর:

  1. আপনি আপনার সিস্টেম প্যাকেজ ম্যানেজারের মাধ্যমে ইনস্টল করা কোনও নোডেজ প্যাকেজ আনইনস্টল করুন (dnf, apt-get, ইত্যাদি), আপনি প্রতিটি আপগ্রেড (লোল) পুনরুদ্ধার করে চলেছেন এমন যে কোনও নির্লিপ্ত চিহ্নগুলি মুছুন।
  2. এনভিএম ইনস্টল করুন,
  3. নোডেজ ইনস্টল করতে এনভিএম ব্যবহার করুন: এনভিএম ইনস্টল 6

পুরানো উত্তর:

সিমলিংক তৈরি করার বা অন্য কোনও নোড-প্যাকেজ ইনস্টল করার যে কোনও আলোচনা হ'ল উত্সাহী এবং টেকসই নয়।

এটি সমাধানের সঠিক উপায়টি হ'ল:

  1. ইতিমধ্যে আপনার পছন্দ মতো এ্যাপ-গেটের সাথে নোডেজ প্যাকেজটি সহজভাবে ইনস্টল করুন
  2. update-alternativesআপনার নোডেজ বাইনারি নির্দেশ করতে ব্যবহার এর জন্য দায়ী#!/usr/bin/env node

তাই ভালো :

sudo apt-get install nodejs
sudo update-alternatives --install /usr/bin/node nodejs /usr/bin/nodejs 100

এটি এখন প্যাকেজ আপগ্রেড, ডিস্ট-আপগ্রেড এবং আরও অনেকগুলি জুড়ে টেকসই হয়ে যায়।


এটি আমার সমস্যার সমাধান হ'ল স্ট্যাকওভারফ্লো.com
অ্যালন কার্মেল

ধন্যবাদ, দুর্দান্ত সমাধান, সিমলিঙ্কগুলির সাথে কৌশলটি নেট থেকে সবচেয়ে বেশি পুনরাবৃত্তি হয়েছে তবে এটি আমার পক্ষে কার্যকর হয়নি।
এমিলিয়া টাইল

এখন আসল সঠিক উত্তরটি হল লিনাক্সে এনভিএম এবং উইন্ডোজে নোডিস্ট।
এয়ারটোনিক্স

35

চালান apt-get install nodejs-legacy

কিছু নির্দিষ্ট লিনাক্স ডিস্ট্রিবিউশন নোড.জেএস বাইনারি নাম পরিবর্তন করেছে এবং এটি নোড.জেএস প্যাকেজগুলির সাথে সামঞ্জস্যপূর্ণ নয়। প্যাকেজ এটি সমাধানের nodejs-legacyজন্য একটি সিএমলিংক সরবরাহ করে।


4
এটি হ'ল উবুন্টু 14.04 এর সমাধান কারণ /usb/sbin/nodeax24-নোড (নোডেজের সাথে সম্পর্কিত নয়)। মাত্র সিম্বলিক লিঙ্ক /usr/bin/nodeকাজ করবে না কেননা /usr/sbin/nodeপ্রথম আসে$PATH
গ্যারেথ

আমাকে সাহায্য করেছেন। ধন্যবাদ!
লাপিডাস

নোডেজ-লিগ্যাসি ইনস্টল করুন। উইন্ডোজের জন্য ব্যবহারকারীরা বলেছেন 'আপ্ট-গেট' কোনও অভ্যন্তরীণ বা বাহ্যিক কমান্ড, অপারেবল প্রোগ্রাম বা ব্যাচ ফাইল হিসাবে স্বীকৃত নয়।
সুইফট

7

এছাড়াও আপনি Nodejs ব্যবহার ইনস্টল করতে পারেন NVM বা Nodejs সংস্করণ ম্যানেজার । সংস্করণ পরিচালক ব্যবহার করে প্রচুর সুবিধা রয়েছে । তাদের একজন হওয়ায় আপনি এই সমস্যাটি নিয়ে চিন্তা করবেন না।


নির্দেশাবলী:


sudo apt-get update
sudo apt-get install build-essential libssl-dev

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

curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh

এটি স্ক্রিপ্টটি ডাউনলোড করে এটি চালাবে। এটি আপনার হোম ডিরেক্টরিটির একটি উপ-ডিরেক্টরিতে সফ্টওয়্যারটি ইনস্টল করবে ~/.nvm। এটি ~/.profileফাইলটি ব্যবহার করতে আপনার ফাইলটিতে প্রয়োজনীয় লাইন যুক্ত করবে ।

এনভিএম কার্যকারিতা অ্যাক্সেস পেতে আপনার লগ আউট এবং আবার লগ ইন করতে হবে, বা আপনি or /। প্রোফাইল ফাইলটি উত্স করতে পারেন যাতে আপনার বর্তমান সেশনটি পরিবর্তনগুলি সম্পর্কে জানতে পারে:

source ~/.profile

এখন আপনি এনভিএম ইনস্টল করেছেন, আপনি বিচ্ছিন্ন নোড.জেএস সংস্করণ ইনস্টল করতে পারেন।

ইনস্টলেশনের জন্য উপলব্ধ নোড.জেএস এর সংস্করণগুলি খুঁজে পেতে, আপনি টাইপ করতে পারেন:

nvm ls-remote
. . .

v0.11.10
v0.11.11
v0.11.12
v0.11.13
v0.11.14

আপনি দেখতে পাচ্ছেন যে, এই লেখার সময়কার নতুন সংস্করণটি v0.11.14। আপনি টাইপ করে এটি ইনস্টল করতে পারেন:

nvm install 0.11.14

সাধারণত, এনভিএম সর্বাধিক ইনস্টল হওয়া সংস্করণটি ব্যবহার করতে স্যুইচ করবে। আমরা সবেমাত্র টাইপ করে ডাউনলোড করা সংস্করণটি ব্যবহার করতে আপনি এনভিএমকে স্পষ্টভাবে বলতে পারেন:

nvm use 0.11.14

আপনি যখন এনভিএম ব্যবহার করে নোড.জেএস ইনস্টল করেন, এক্সিকিউটেবলকে নোড বলা হয়। আপনি শেল দ্বারা বর্তমানে ব্যবহৃত সংস্করণটি টাইপ করে দেখতে পাবেন:

node -v

অসম্পূর্ণ টিউটোরিয়ালটি এখানে পাওয়া যাবে


হ্যাঁ, পরিবেশ সংস্করণ পরিচালকদের জন্য এক। আমাদের উভয় এটি করার সঠিক উপায় হওয়া সত্ত্বেও অবশ্যই আমার চেয়ে আরও ভাল উত্তর। আমি বলব যে এনভিএম আরও বেশি ইন্টারেক্টিভ ওয়ার্কস্টেশনগুলি প্রোডাকশন সার্ভার নয় (তবে সেখানে কেন এটি ব্যবহার করতে পারছে না তা আমি দেখতে পাচ্ছি না) ... ব্যক্তিগতভাবে আমি প্রযোজনায় ডকার চিত্র ব্যবহার করার জন্য আরও ঝোঁক।
এয়ারটোনিক্স


0

লিনাক্সে পরমাণু তৈরি করার সময় আমারও একই সমস্যা মনে হয়।

sudo apt-get install nodejs-dev

আমার প্রশ্নোত্তর ঠিক করুন আপনার জন্য সহায়ক।


0

আপনি যদি সিমলিংক করতে না চান তবে আপনি এটি করতে পারেন। উবুন্টুতে কাজ করে

#!/usr/local/bin/node --harmony

সম্প্রীতি ট্যাগটি নতুন ইসিমাস্ক্রিপ্ট সম্প্রীতির জন্য


0
  1. কমান্ড চালান which nodeফলাফল কিছু হবে

    /home/moh/.nvm/versions/node/v8.9.4/bin/node

  2. আপনি যে পথটি উপরে এসেছেন তা অনুলিপি করুন এবং তারপর পদক্ষেপ 3 এ চালান।

  3. ln -s /home/moh/.nvm/versions/node/v8.9.4/bin/node /usr/bin/node


-1

আপনাকে "নোডেজ" কল করতে হবে, "নোড" নয়। এটি যাচাই node -vকরতে শেলটি টাইপ করুন: কিছু না পাওয়া গেলে চেষ্টা করুন nodejs -v। যদি এটি কোনও সংস্করণ নম্বর প্রদর্শন করে তবে আপনার যে কমান্ডটি ব্যবহার করা উচিত তা হ'ল nodejsনা node। অতএব, আপনার স্ক্রিপ্টে ব্রাউসরিফাই করার জন্য আপনাকে কলটি পরিবর্তন nodeকরতে হবে nodejs(নীচে দেখানো হয়েছে) থেকে: প্রতিস্থাপন করুন

#!/usr/bin/env node

সঙ্গে

#!/usr/bin/env nodejs

আপনাকে সুপারভাইজার হিসাবে স্ক্রিপ্টটি খুলতেও পারে।

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