ত্রুটি: EACCES: অনুমতি অস্বীকার, অ্যাক্সেস '/ usr / স্থানীয় / lib / নোড_মডিউল' প্রতিক্রিয়া


298

ত্রুটির কারণ কি হতে পারে Error: EACCES: permission denied, access '/usr/local/lib/node_modules'?

npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!  { Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/macbookmd101/.npm/_logs/2018-02-21T16_26_08_421Z-debug.log

9
কীভাবে এটি সমাধান করবেন সে বিষয়ে এনপিএমের
ডিজনেয়েট

উত্তর:


487

আপনার ফাইল অনুমতি পরিবর্তন করুন .. এই মত

প্রথমে ডিরেক্টরিটির মালিক কিনা তা পরীক্ষা করে দেখুন

ls -la /usr/local/lib/node_modules

এটি অ্যাক্সেস অস্বীকার করছে কারণ নোড_মডিউল ফোল্ডারটি মূলের মালিকানাধীন

drwxr-xr-x   3 root    wheel  102 Jun 24 23:24 node_modules

সুতরাং আপনার ব্যবহারকারীর কাছে রুট পরিবর্তন করে এটি পরিবর্তন করা দরকার তবে আপনার বর্তমান ব্যবহারকারীকে পরীক্ষা করতে নীচে প্রথমে কমান্ড চালান ওএস এক্স-এর কমান্ড লাইনের মাধ্যমে আমি কীভাবে সক্রিয় ব্যবহারকারীর নাম পেতে পারি?

id -un

অথবা

whoami

তারপরে মালিক পরিবর্তন করুন

sudo chown -R [owner]:[owner] /usr/local/lib/node_modules

অথবা

sudo chown -R ownerName: /usr/local/lib/node_modules

অথবা

sudo chown -R $USER /usr/local/lib/node_modules

3
Sudo ইন কমান্ড যোগ করার পরেও কাজ হয়নি। এটি আমার পক্ষে কাজ করেছে এবং উত্তরটি গ্রহণ করা উচিত।
নির্জ শ্র্রী

1
আমার সংস্থা মাইক্রোসফ্ট অ্যাক্টিভ ডিরেক্টরি একক সাইন অন ব্যবহার করে। সুতরাং গোষ্ঠীর নামটি এতে স্ল্যাশ এবং এতে একটি স্পেস রয়েছে। যা এটি করা একটু কঠিন করে তোলে। আমি যে কমান্ডটি ব্যবহার করেছি তা ছিল sudo chown -R myuser:Company\\Domain\ Users /usr/local/lib/node_modules। গ্রুপের নামটি সঠিকভাবে তালিকাবদ্ধ করতে আমি করেছি id -gn myuser
প্যাট্রিক

44
এটি সহায়ক ছিল কিন্তু আমি যখন মালিককে পেয়েছি তখন পরিবর্তনের জন্য কমান্ডটি চালাচ্ছি illegal group name। সুতরাং আমি আদেশটি পরিবর্তন করেছিলাম sudo chown -R ownerName: /usr/local/lib/node_modulesএবং এটি কাজ করে।
মিডোরি

4
যদিও সঠিক উত্তরটি পেয়েছে, আমি একাধিকবার এই সমস্যাটির মুখোমুখি হয়েছি এবং এনভিএম ব্যবহার করা ভাল সমাধান। এইভাবে আপনাকে ফাইলের মালিক ব্যবহার করার দরকার নেই chowngithub.com/nvm-sh/nvm
রুই

1
অনুমতিটি চেঁচানোর পরিবর্তে ডকুমেন্টগুলিতে এনভিএম দিয়ে এনপিএম ইনস্টল করার পরামর্শ দেওয়া হয়। দেখুন stackoverflow.com/a/59575266/2311074
আদম

105

অনুমতি ত্রুটির সম্ভাবনা হ্রাস করতে, আপনি আলাদা ডিরেক্টরি ব্যবহার করতে এনপিএম কনফিগার করতে পারেন। এই উদাহরণে, আপনি আপনার হোম ডিরেক্টরিতে একটি গোপন ডিরেক্টরি তৈরি এবং ব্যবহার করবেন।

আপনার কম্পিউটারের ব্যাক আপ দিন। আপনার হোম ডিরেক্টরিতে কমান্ড লাইনে, বৈশ্বিক ইনস্টলেশনগুলির জন্য একটি ডিরেক্টরি তৈরি করুন:

mkdir ~/.npm-global

নতুন ডিরেক্টরি পাথ ব্যবহার করতে এনপিএম কনফিগার করুন:

npm config set prefix '~/.npm-global'

আপনার পছন্দের পাঠ্য সম্পাদকটিতে একটি খুলুন বা তৈরি করুন

~/.profile

ফাইল এবং এই লাইন যুক্ত করুন:

export PATH=~/.npm-global/bin:$PATH

কমান্ড লাইনে, আপনার সিস্টেমের ভেরিয়েবলগুলি আপডেট করুন:

source ~/.profile

আপনার নতুন কনফিগারেশন পরীক্ষা করতে, sudo ব্যবহার না করে বিশ্বব্যাপী একটি প্যাকেজ ইনস্টল করুন


18
এটি আমার মতে সর্বনিম্ন ধ্বংসাত্মক বিকল্প। এটি এনপিএম ওয়েবসাইটেও প্রস্তাবিত
17xand

বিকল্পভাবে, আপনি যদি না করতে চান npm config set prefix(বিশেষত যদি আপনি কোনও মূল-নির্ধারক ইনস্টলার লিখছেন), আপনি PREFIXএনভ ভারাকে ওভাররাইড করতে বা --prefixবিকল্পটি সরবরাহ করতে চাইতে পারেন , যার উভয়ের সমতুল্য npm config set prefix। (কোনটি ওভাররাইড করে তা নিশ্চিত নয়)
SOFe

এটি আমার জন্য পুরোপুরি কাজ করেন। আমার মতে, এই উত্তরটি ধ্বংসাত্মক ত্রুটির জন্য সর্বনিম্ন জায়গা তৈরি করে এবং এটি বুঝতে এবং বাস্তবায়ন করা খুব সহজ।
ক্লক্কেল্লিপটিক

1
এটাই খুঁজছিল! ধন্যবাদ।
জাজানডুদে

এটি আসলে প্রস্তাবিত সমাধান এবং দীর্ঘমেয়াদে সেরা।
আল-মোতফার

49

আপনাকে যা করতে হবে তা হ'ল USER / স্থানীয় / lib এর মালিককে যুক্ত করা

sudo chown -R $USER /usr/local/lib

7
ভবিষ্যতের পাঠকগণ যদি অনুমতিগুলি বুঝতে না পারেন, তবে দয়া করে সরকারী ডকুমেন্টেশন এনপিএম ডকুমেন্টেশন দেখুন এবং সঠিকভাবে সমস্যাটি সমাধান করুন। docs.npmjs.com/… । বিশেষত, ভবিষ্যতের পাঠকদের সম্ভবত কোনও নোড সংস্করণ পরিচালক (প্রস্তাবিত) দিয়ে এনপিএম পুনরায় ইনস্টল করা
অর্ডোনজালেক্স

1
এই বেশ সহজ. এর অর্থ হ'ল আপনাকে আর কখনও লিবিতে কোনও বিষয়ে উদ্বিগ্ন হওয়ার দরকার নেই; আপনি / usr / স্থানীয় / lib মালিক।
ওবিনা নন্নেন্য

4
এটি মোটেই ভাল সমাধান নয়। উপরের দিকে চালিয়ে chownআপনি আপনার পুরো ফাইল সিস্টেমের অনুমতি কাঠামোটি ধ্বংস করার উচ্চ ঝুঁকিতে রয়েছেন।
লার্স

3
এই আদেশটি আমার সমস্ত অনুমতি নষ্ট করে দিয়েছে। আবার সমস্ত জিনিস পুনরুদ্ধার করা দরকার।
আজম আলভী

4
সুনির্দিষ্টভাবে বলতে গেলে, এটি কোনও মালিককে যুক্ত করছে না । এটি মালিককে পরিবর্তন করছে , যা কেবল যোগ করার চেয়ে অনেক বেশি ধ্বংসাত্মক এবং প্রায় হিসাবে ধ্বংসাত্মক sudo chmod -R 777 /
সফটওয়্যার

29

সংযোজন চেষ্টা উবুন্টু সামনে যাই হোক না কেন কমান্ড আপনাকে চেষ্টা করছেন।

এটার মত : sudo এনপিএম ইনস্টল

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

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

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


57
এনপিএম প্যাকেজ ইনস্টল করার সময় sudo ব্যবহার এড়াতে হবে। আপনি যখন এই পথে আরও গভীরতর যান ততক্ষণে এটি ঠিক করা তত কঠিন। অন্য উত্তরে নির্দেশিত হিসাবে কেবল এনপিএম ফোল্ডারে অনুমতিগুলি পরিবর্তন করুন এবং আরও ভাল জীবনযাপন করুন।
লুকাশ লিসিস

2
এটি কার্যকর হতে পারে তবে এটি সময়ের সাথে অবিচ্ছিন্ন সমস্যা সৃষ্টি করবে। আপনি যদি সব ধরণের অনুমতি ত্রুটি অস্বীকার করতে না চান তবে এটি এড়ান। যেমন এনপিএম ক্যাশে ফোল্ডারে অস্বীকার করা হয়েছে, ইনস্টল করতে অস্বীকৃত হয়েছে ইত্যাদি।
লুকাশ লিসিস

1
যদি ব্যবহারকারী অনুমতিগুলি বুঝতে না পারে তবে প্যাকেজগুলির ইনস্টলেশন খুব বিপজ্জনক নজির সেট করার আগে sudo ব্যবহার করার সাথে এই উত্তরটি সরানো উচিত। দয়া করে প্রথম উত্তরটি উল্লেখ করুন যেখানে আপনি একবার মূল নোড অবস্থানের মালিকানা পরিবর্তন করেছেন।
সিওয়ারারিওর 404

19

আমি @ ওকান্দার দেওয়া উত্তরের সমাধান চেষ্টা করেছিলাম কিন্তু এটি আমার পক্ষে কার্যকর হয়নি।

যাইহোক এটি পুরোপুরি কার্যকর হয়েছিল যখন আমি এই থ্রেডে উল্লিখিত কয়েকটি ফোল্ডারের জন্য এটি করেছি: https://github.com/angular/angular-cli/issues/9676#issuecomment-464857493

sudo chown -R $USER /usr/local/lib/node_modules/
sudo chown -R $USER /usr/local/bin/
sudo chown -R $USER /usr/local/share/

ধন্যবাদ, এই উত্তরটি আমাকে সাহায্য করেছে। উবুন্টু 18.04.3
bakti_UZB

আমার আগে অন্যান্য সমাধানগুলির কাজ ছিল, তবে কোনও কারণে এই বারে এটি ফোল্ডারগুলিতে কাজ করে। ধন্যবাদ। ম্যাক ভি 10.15.2
আমির 5000

1
প্রোডাকশন সার্ভারে চালানো কি নিরাপদ?
চিজি

16

উবুন্টুতে বিশ্বব্যাপী প্যাকেজ ইনস্টল করার সময় , usr/binফোল্ডারে লেখার সময় আপনার বিশেষ রাইট অনুমতি দরকার need এটি সুরক্ষার কারণেই। সুতরাং, আপনি যখনই বিশ্বব্যাপী প্যাকেজ ইনস্টল করেন, তখন ব্যবহার করুন:

sudo npm install -g [package-name]

আপনার নির্দিষ্ট ক্ষেত্রে, এটি হবে:

sudo npm install -g typescript

14

দেখে মনে হচ্ছে আপনি অনুমতি সংক্রান্ত সমস্যা নিয়ে চলেছেন। আপনি যদি ইনস্টল করছেন npm-packagesতবে EACCESবিশ্বব্যাপী কোনও প্যাকেজ ইনস্টল করার চেষ্টা করার সময় আপনি সম্ভবত একটি ত্রুটি পেয়ে যাচ্ছেন। এর অর্থ npmবৈশ্বিক প্যাকেজ এবং কমান্ডগুলি সঞ্চয় করতে ব্যবহার করা ডিরেক্টরিগুলিতে লেখার অনুমতি নেই ।

কমান্ডগুলি চালনার চেষ্টা করুন: sudo chmod u+x -R 775 ~/.npmএবং sudo chown $USER -R ~/.npmআপনি যে কোনও npmকমান্ড চালিয়ে sudoযেতে পারেন এটির আপনার সমস্যার সমাধান হওয়া উচিত।

আপনি যদি npm-packageস্থানীয়ভাবে ইনস্টল করছেন তবে আপনার স্থানীয় প্রকল্প ডিরেক্টরিতে থাকা উচিত এবং sudo npm install <pkg-name>প্রয়োজনীয় প্যাকেজ ইনস্টল করতে কমান্ড চালানোর চেষ্টা করতে পারেন । ব্যবহারের উদ্দেশ্য sudoহ'ল এটি আপনার মালিকের অনুমতি পরিবর্তন করবে যাতে আপনি আপনার বর্তমান ব্যবহারকারীকে চালনার জন্য অনুমোদিত করতে পারেনnpm আদেশগুলি ।

আমি আপনাকে https://docs.npmjs.com/getting-started/fixing-npm-perifications এ একবার দেখার পরামর্শ দিই


10

আমি রিঅ্যাক্ট এক্সপো ইনস্টল করার চেষ্টা করছিলাম এবং সুডো ছাড়াও আমাকে যুক্ত করতে হবে --unsafe-perm

এটার মত. এটি আমার সমস্যা সমাধান করে

sudo npm install -g expo-cli --unsafe-perm

@ ফুরকুয়ান, আপনাকে অনেক ধন্যবাদ ... এটি বিভিন্ন সমাধানের চেষ্টা করার পরেও আমার পক্ষে কাজ করেছিল।
AzeTech

@ আজটেক, আমি এটির সাহায্যে আনন্দিত: ডি
ফুরকুয়ান

9

আপনি যদি ম্যাক এ সমস্যার মুখোমুখি হন। এই পদক্ষেপগুলি অনুসরণ করুন

প্রথমে নীচের কমান্ডটি ব্যবহার করে এই ফাইলের মালিক কে তা পরীক্ষা করে দেখুন

ls -la /usr/local/lib/node_modules

আপনি কিছু ফাইল পাবেন যেমন তার নীচে একটির নীচে রয়েছে

drwxr-xr-x   3 root    wheel  768 May 29 02:21 node_modules

আপনি কি লক্ষ্য করেছেন যে উপরের ফাইলটি রুট অনুসারে নিজস্ব, কারণ পরিবর্তনের জন্য আপনার পথের মালিক জাহাজ পরিবর্তন করতে হবে।

আপনি এই আদেশ দ্বারা বর্তমান ব্যবহারকারী কে চেক ব্যবহার করতে পারেন

id -un (in my case user is yamsol)

এবং তারপরে আপনি এই আদেশটি কল করে পরিবর্তন করতে পারবেন (কেবলমাত্র আপনার ব্যবহারকারী নামটি মালিকের নামের সাথে প্রতিস্থাপন করুন)

sudo chown -R ownerName: /usr/local/lib/node_modules

আমার ক্ষেত্রে যেমন আপনি জানেন যে ব্যবহারকারী "ইয়ামসোল" আমি এই আদেশটি এইভাবে কল করব

sudo chown -R yamsol: /usr/local/lib/node_modules

এটাই.


8

মূলত / usr / স্থানীয় অধীনে সমস্ত ডিরেক্টরিগুলির মালিককে পরিবর্তন করে এমন সমস্ত প্রতিক্রিয়া সম্পর্কে সতর্ক থাকুন , লিনাক্স সিস্টেমে গোলযোগ করবেন না !!!

আমি মনে করি যে সমস্ত বিশ্বব্যাপী প্যাকেজগুলি সনাক্ত করতে আপনার নিজের ফোল্ডারটি ব্যবহার করা সবচেয়ে ভাল উপায়: https://www.competa.com/blog/how-to-run-npm-without-sudo/


8

আপনি নোড সংস্করণ পরিচালক বা নোড ইনস্টলারের মাধ্যমে এনপিএম ইনস্টল করতে পারেন। ইন ডক্স এটা বলেন:

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

আপনার যেহেতু অনুমতি ত্রুটি রয়েছে তাই আপনি সম্ভবত কোনও নোড ইনস্টলারের মাধ্যমে এনপিএম ইনস্টল করেছেন এবং এখন আপনাকে এটি এনভিএম (নোড সংস্করণ পরিচালক) দিয়ে পুনরায় ইনস্টল করতে হবে।

ভাগ্যক্রমে, এটি খুব সাধারণ। এমনকি আপনার এনপিএম বা নোড.জেএস এর বর্তমান সংস্করণ অপসারণ করার দরকার নেই

আপনার যা করা দরকার তা হ'ল

  1. এনভিএম ইনস্টল করুন। ওএসএক্স বা লিনাক্স নোডের জন্য:

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash

    এটি আপনার হোম ডিরেক্টরিতে একটি এনভিএম ফোল্ডার তৈরি করে।

তারপর

  1. এনভিএমের মাধ্যমে এনপিএম এবং নোড.জেএস ইনস্টল করুন। এটি করতে, কেবল কল করুন

    nvm install stable

এখন আপনি ব্যবহার না করেই বিশ্বব্যাপী আপনার প্যাকেজ ইনস্টল করতে পারেন sudoবা মালিক পরিবর্তন node_modulesমধ্যে usrফোল্ডার।


উত্তরের জন্য ধন্যবাদ আদম! শুধু ভাবছি বিল্ড / এনভায়রনমেন্ট সেট আপ প্রক্রিয়া পরবর্তী সময়ে কিছু সম্ভাব্য জটিলতাগুলি কী হতে পারে?
吖 奇 说 - 何魏奇 আর্কি তিনি


@ 吖 奇 说 আর্চিশুō এনভিএম দিয়ে নোড ইনস্টল করার সময় আমি কোনও জটিলতার কথা শুনিনি। এবং যেহেতু এটি অফিসিয়াল ডক্স থেকে প্রস্তাবিত, এটি আমার কাছে যাওয়ার সর্বোত্তম উপায়ের মতো মনে হচ্ছে :)
অ্যাডাম

7

Sudo ব্যবহারকারী হিসাবে ইনস্টল করতে এই কমান্ডটি npm ব্যবহার করুন:

sudo npm install -g create-react-app 

এনপিএম পরিবর্তে ইনস্টল করুন -জি তৈরি করুন-প্রতিক্রিয়া-একটি পিপি।


@ লুকাশের উদ্ধৃতি- এনপিএম প্যাকেজ ইনস্টল করার সময় sudo ব্যবহার করে। আপনি যখন এই পথে আরও গভীরতর যান ততক্ষণে এটি ঠিক করা তত কঠিন। অন্য উত্তরে নির্দেশিত হিসাবে কেবল এনপিএম ফোল্ডারে অনুমতিগুলি পরিবর্তন করুন এবং আরও ভাল জীবনযাপন করুন।
সত্যম্বে জয়তে

6

আমি ম্যাকের সাহায্যে নিম্নলিখিতটি ব্যবহার করে সমস্যাটি সমাধান করতে সক্ষম হয়েছি।

sudo npm install -g @aws-amplify/cli --unsafe-perm=true

6

এনভিএম ব্যবহারকারীদের জন্য

sudo chown -R $USER /home/bereket/.nvm/versions/node/v8.9.1/lib/node_modules 

এবং

sudo chown -R $USER /usr/local/lib/node_modules/

v8.9.1আপনার ব্যবহৃত নোড সংস্করণটি প্রতিস্থাপন করুন।


এটি আমার পক্ষে কাজ করে না! তবুও ত্রুটি হচ্ছে: এনপিআর ইআরআর! ত্রুটি: EACCES: অনুমতি প্রত্যাখ্যান করা হয়েছে, নাম পরিবর্তন / home/samuel/.nvm/versions/node/v8.10.0/lib/node_modules/.stasing/npm-90fab7c7/node_modules/columnify/node_modules/wcwidth/node_modules/deults /.stasing সহ এমন কিছু .. যা ইনস্টল করার চেষ্টা করার পরে ফোল্ডারটির অস্তিত্ব নেই। আপনি কি আমাকে সাহায্য করতে পারেন?
স্যামুয়েল

@ সামুয়েল আপনি এই আদেশটি চালিয়েছেন? sudo chown -R $USER home/samuel/.nvm/versions/node/v8.10.0/lib/node_modules
bereket gebredingle

5

দেখে মনে হচ্ছে আপনি স্থানীয় হিসাবে এনপিএম প্যাকেজটি বিশ্বজুড়ে ইনস্টল করার চেষ্টা man npm installকরেছেন , যেমন :

-G বা --global যুক্তি বিশ্বব্যাপী বদলে স্থানীয়ভাবে প্যাকেজ ইনস্টল করার npm কারণ হবে।

সাধারণত, আপনি যখন এনপিএম প্রজেক্ট স্থাপন করেন (আপনার কাছে থাকা অনেকের মধ্যে) তখন আপনার ডিবাগ লগ হিসাবে নোড.জেএস গ্লোবাল মডিউলগুলিতে (/ usr / স্থানীয় / lib / নোড_মডিউল) প্যাকেজ ইনস্টল করা ভাল ধারণা নয় not সুপারিশ করেছে।

ব্যবহারের পরিবর্তে -g, ব্যবহার করুন --saveযা প্যাকেজটি স্বয়ংক্রিয়ভাবে আপনার package.jsonফাইলের নির্ভরতা হিসাবে সংরক্ষণ করবে :

এটার মত:

$ npm install express-generator --save

$ cat package.json 
{
  "name": "first_app_generator",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
},
  "author": "ivanleoncz",
  "license": "MIT",
  "dependencies": {
    "express-generator": "^4.16.0"
  }
}

তবে উল্লিখিত অন্যান্য উত্তরগুলির মতো, আপনি যদি ব্যবহার করতে যাচ্ছেন তবে আপনাকে ব্যবহার -gকরতে হবে sudo( যদি আপনার ব্যবহারকারীর sudo সুবিধাগুলি থাকে: / / etc / sudoers দেখুন ) npm install express-generator -gতবে এটি কোনও ভাল ধারণা নয়, সম্ভবত অনুমতি সংক্রান্ত সমস্যা তৈরি করে।

বিজ্ঞপ্তি

সিস্টেমের পথে স্ক্রিপ্টটি উপলব্ধ করার জন্য বিকল্পের express-generatorসাথে ইনস্টল করার জন্য নির্দেশাবলী রয়েছে , তবে আপনি স্থানীয়ভাবে ইনস্টল করা স্ক্রিপ্টটি ব্যবহার করতে পারেন, যদি আপনার এনপিএম প্রকল্পে থাকে:-gexpress-cli.jsnode_modules

$ ./node_modules/express-generator/bin/express-cli.js --view=pug myapp

যদি / usr / bin / env: 'নোড'-এর মতো কোনও বার্তা : এই জাতীয় কোনও ফাইল বা ডিরেক্টরি প্রদর্শিত না হয়, ইনস্টল করুন nodejs-legacy(দেবিয়ান / উবুন্টু)

আইএমএইচও, ব্যবহার -g(এটিও ব্যবহার করা sudo) হাইক সান্ট ড্র্যাকোনগুলির মতো , যদি আপনি পরিণতি সম্পর্কে অনিশ্চিত হন।

আরো তথ্যের জন্য:


4

এটি স্থানীয়ভাবে npmআপনার গ্লোবাল node_modulesডিরেক্টরি অ্যাক্সেস করতে সক্ষম না হওয়ার ফলস্বরূপ ঘটেছে running

sudo chown -R Name: /usr/local/lib/node_modules

যেমন

sudo chown -R developerayo: /usr/local/lib/node_modules

সমস্যাটি স্থির করে, এখন আপনি যে কমান্ডটি আবার চালিয়েছিলেন তা চালাতে পারেন।


3

কেবল আপনি এইভাবে আদেশ দেওয়ার আগে আপনি মালিক পরিবর্তন করতে পারেন বা কেবল sudo ব্যবহার করতে পারেন

sudo chown -R [owner]:[owner] /usr/local/lib/node_modules( মালিক পরিবর্তন করুন )

অথবা

sudo npm install -g json-server

এটাই.


3

লিনাক্স / উবুন্টুর জন্য যদি কমান্ড হয়

npm install -g <package_name>

npm WARN deprecated superagent@4.1.0: Please note that v5.0.1+ of superagent removes User-Agent header by default, therefore you may need to add it yourself (e.g. GitHub blocks requests without a User-Agent header).  This notice will go away with v5.0.2+ once it is released.

npm ERR! path ../lib/node_modules/<package_name>/bin/..

npm ERR! code EACCES

npm ERR! errno -13

npm ERR! syscall symlink

npm ERR! Error: EACCES: permission denied, symlink '../lib/node_modules
/<package_name>/bin/..' -> '/usr/local/bin/<package_name>'

npm ERR!  { [Error: EACCES: permission denied, symlink '../lib/node_modules/<package_name>/bin/..' -> '/usr/local/bin/<package_name>']

npm ERR!   cause:
npm ERR!    { Error: EACCES: permission denied, symlink '../lib/node_modules/<package_name>/bin/..' -> '/usr/local/bin/<package_name>'

npm ERR!      errno: -13,

npm ERR!      code: 'EACCES',

npm ERR!      syscall: 'symlink',

npm ERR!      path: '../lib/node_modules/<package_name>/bin/..',
npm ERR!      dest: '/usr/local/bin/ionic' },

npm ERR!   stack:
npm ERR!    'Error: EACCES: permission denied, symlink \'../lib/node_modules/ionic/bin/ionic\' -> \'/usr/local/bin/ionic\'',

npm ERR!   errno: -13,

npm ERR!   code: 'EACCES',

npm ERR!   syscall: 'symlink',

npm ERR!   path: '../lib/node_modules/<package-name>/bin/<package-name>',

npm ERR!   dest: '/usr/local/bin/<package-name>' }

npm ERR! 

npm ERR! The operation was rejected by your operating system.

npm ERR! It is likely you do not have the permissions to access this file as the current user

npm ERR! 

npm ERR! If you believe this might be a permissions issue, please double-check the

npm ERR! permissions of the file and its containing directories, or try running

npm ERR! the command again as root/Administrator (though this is not recommended).


npm ERR! A complete log of this run can be found in:

npm ERR!     /home/User/.npm/_logs/2019-07-29T01_20_10_566Z-debug.log

ফিক্স: রুট অনুমতি সহ ইনস্টল করুন

sudo npm install <package_name> -g


3

প্রতিক্রিয়া ইনস্টল করার জন্য আপনার সুপারসার স্তরের অনুমতি প্রয়োজন। লিনাক্স / ইউনিক্সে সুপারভাইজার অ্যাকাউন্টটির নামকরণ করা হয় সাধারণত 'রুট'।

সুপারভাইজার সুবিধার্থে পেতে আপনার টার্মিনালে নিম্নলিখিত কমান্ডটি চালান:

sudo -i

এবং তারপরে প্রতিক্রিয়া ইনস্টল করার জন্য কেবল কমান্ডটি চালান:

npm install -g create-react-app

তবে, রিএ্যাকটিজস টিম বিশ্ব প্যাকেজ ইনস্টল করার পরিবর্তে নিম্নলিখিত কমান্ডটি ব্যবহার করতে আমাদের উত্সাহিত করে।

npx create-react-app app_name

1
সুডো ব্যবহার করা ঝুঁকিপূর্ণ প্রস্তাব, কিছু প্যাকেজ নিরাপদ হতে পারে তবে অন্যরা অন্য কিছু করতে পারে এবং আপনি যে মূল সুযোগগুলি দিচ্ছেন তার সুযোগ নিতে পারে। sudo পরবর্তী কমান্ডগুলিকে
সুপারইউজার

কিছু প্যাকেজ create-react-appযেমন গ্লোবাল প্যাকেজ হিসাবে ইনস্টল করতে রুট সুবিধার প্রয়োজন; অন্যথায়, আপনি এটি ইনস্টল করতে সক্ষম হবেন না। তবে, রিএ্যাকটিজস টিম npx create-react-app app_nameবিশ্ব প্যাকেজ ইনস্টল করার পরিবর্তে নিম্নলিখিত কমান্ডটি ব্যবহার করতে আমাদের উত্সাহিত করে ।
ফাতেমা টি। জুহোরা



2

দীর্ঘ গবেষণার পরে আমি বুঝতে পেরেছিলাম যে ম্যাক ওএসের জন্য কৌণিক ক্লিপ ইনস্টল করার জন্য কিছুই প্রয়োজন নেই কেবলমাত্র sudo npm install -g @angular/cliআপনার টার্মিনালটি ব্যবহার করে পাসওয়ার্ড প্রম্পট প্রম্পটকে আপনার পাসওয়ার্ড প্রবেশ করিয়ে দেয় এটি ক্লাইম ইনস্টল করার জন্য এগিয়ে যাবে। এটা আমার জন্য কাজ করেছে।



2

আপনি যদি লিনাক্স চালাচ্ছেন (যেমন: আর্চ)

# npm -g install packageName

ডিফল্টরূপে এই কমান্ডটি / usr / lib / node_modules / npm এর অধীনে প্যাকেজটি ইনস্টল করে এবং এর জন্য মূল অধিকারের প্রয়োজন।

ব্যবহারকারী-ব্যাপী ইনস্টলেশনগুলির মঞ্জুরি দেওয়ার জন্য

বর্তমান ব্যবহারকারীর জন্য বিশ্বব্যাপী প্যাকেজ ইনস্টলেশন অনুমোদনের জন্য, npm_config_prefixপরিবেশ পরিবর্তনশীল সেট করুন । এটি এনপিএম এবং সুতা উভয়ই ব্যবহার করে।

~/.profile
PATH="$HOME/.node_modules/bin:$PATH"
export npm_config_prefix=~/.node_modules

পুনরায় লগইন বা পরিবর্তনগুলি আপডেট করতে উত্স।

আপনি এর --prefixজন্য প্যারামিটার নির্দিষ্ট করতে পারেন npm install। যাইহোক, এটি প্রস্তাবিত নয়, যেহেতু আপনি বিশ্বব্যাপী প্যাকেজ ইনস্টল করার সময় এটি যুক্ত করা দরকার।

$ npm -g install packageName --prefix ~/.node_modules

সুতরাং আপনাকে ফোল্ডারের অনুমতি ছাড়তে হবে না


1

আমি ইনস্টল করে nvm, তারপর সর্বশেষ সংস্করণে নোড সেট করে এই সমস্যা থেকে মুক্তি পেতে সক্ষম হয়েছি ।

  1. nvmব্যবহার করে ইনস্টল করুন curl(সর্বশেষ সংস্করণের জন্য এনভিএম.শ যান )
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
  1. উপলব্ধ নোড সংস্করণ তালিকা
nvm ls

v10.12.0
ডিফল্ট -> v10.12 (-> v10.12.0)
নোড -> স্থিতিশীল (-> v10.12.0) (ডিফল্ট)
স্থিতিশীল -> 10.12 (-> v10.12.0)

  1. নোডের কোন সংস্করণ ব্যবহার করবেন তা চয়ন করুন
nvm use v10.12

এনভিএম এনপিএম কনফিগারেশন "উপসর্গ" বিকল্পের সাথে সামঞ্জস্যপূর্ণ নয়: বর্তমানে "" এ সেট করা আছে

  1. বিকল্পটি আনসেট করতে এটি চালান:
nvm use --delete-prefix v10.12.0

উপরের আদেশগুলি অনুসরণ করার পরে, আপনি উবুন্টুতে প্রতিক্রিয়া / কৌনিকটি ইনস্টল করতে সক্ষম হবেন।




0

আমি সুডো ব্যবহার করেছি, তবে এটি সমস্যার সমাধান করতে পারে নি, নোড_মডিউলগুলি ফোল্ডারের অনুমতি পরিবর্তন করে আমি সমস্যার সমাধান করেছি,

sudo chmod -R 777 node_modules

আপনি যদি চান তবে আপনি 777 অন্য কোনও কোডের সাথে প্রতিস্থাপন করতে পারেন যদি আপনি সমস্ত ব্যবহারকারী / গোষ্ঠীর জন্য অনুমতি সেট না করেন।


0

আপনারা এখনও তাদের উপরে উল্লিখিত সমাধানগুলি ব্যবহার করার পরেও সমস্যার সমাধান করতে অক্ষম। এটা চেষ্টা কর

sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

কৌতুক করা উচিত, চিয়ার্স!

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