sudo: npm: الأمر غير موجود

سئل على ١٧ يوليو ٢٠١٥  ·  تمت مشاهدة 716.6k مرة  ·  مصدر

Mark picture
في ١٧ يوليو ٢٠١٥

أحاول الترقية إلى أحدث إصدار من العقدة. أنا أتبع التعليمات الموجودة على http://davidwalsh.name/upgrade-nodejs

لكن عندما أفعل:

sudo npm install -g n

حصلت على الخطأ:

sudo: npm: command not found

يعمل npm بدون sudo. عندما أفعل:

whereis node

أنا أرى:

node: /usr/bin/node /usr/lib/node /usr/bin/X11/node /usr/local/node

ادارة:

which npm

عروض:

/usr/local/node/bin/npm

لقد جربت الحل على https://stackoverflow.com/a/5062718/1246159

لكن ما زلت أتلقى نفس الخطأ. لقد بحثت أيضًا في ملف / etc / sudoers والسطر المناسب هو:

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

هذا يبدو جيدا بالنسبة لي كيف يمكنني الحصول على NPM يعمل مع الأمر sudo؟

الإجابات

Velocibadgery picture
في ١ يناير ٢٠١٦
198

كان علي أن أفعل

sudo apt-get install npm

التي عملت معي.

inga picture
في ٣٠ يوليو ٢٠١٥
131

يجب أن يكون ملف npm في /usr/local/bin/npm . إذا لم يكن موجودًا ، فقم بتثبيت node.js مرة أخرى مع الحزمة على موقع الويب الخاص بهم. نجح هذا في حالتي.

Gao picture
في ٢٥ سبتمبر ٢٠١٥
98

بالنسبة لمستخدمي MAC ، عملت الخطوات التالية بالنسبة لي.

إذا حصلت على Error for Brew ، فإليك الأمر الذي تحتاج إلى كتابته أولاً في الجهاز:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

ثم قم بتشغيل الأوامر التالية:
$ brew update
$ brew uninstall node
$ brew install node
$ brew postinstall 
Vasanth Umapathy picture
في ٢٠ أكتوبر ٢٠١٦
67

كان لي نفس المشكلة؛ هذه هي الأوامر لإصلاحها:

  • sudo ln -s /usr/local/bin/node /usr/bin/node
  • sudo ln -s /usr/local/lib/node /usr/lib/node
  • sudo ln -s /usr/local/bin/npm /usr/bin/npm
  • sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
Jacksonkr picture
في ٢ يناير ٢٠١٧
28

تحذيرتصحيح

القيام بـ chmod 777 هو حل جذري إلى حد ما. جرب هذه أولاً ، واحدة في كل مرة ، وتوقف عندما يعمل أحدهم:

  • $ sudo chmod -R 777 /usr/local/lib/node_modules/npm
  • $ sudo chmod -R 777 /usr/local/lib/node_modules
  • $ sudo chmod g+w /usr/local/lib
  • $ sudo chmod g+rwx /usr/local/lib

$ brew postinstall node هو جزء التثبيت الوحيد الذي سأواجه فيه مشكلة

Permission denied - /usr/local/lib/node_modules/npm/.github

لذا أنا

// !! READ EDIT ABOVE BEFORE RUNNING THIS CODE !!
$ sudo chmod -R 777 /usr/local/lib
$ brew postinstall node

و فيولا ، npm مرتبط الآن

$ npm -v
3.10.10

إضافي

إذا استخدمت -R 777 في lib ، فإن توصيتي ستكون تعيين الملفات والأدلة المتداخلة إلى إعداد افتراضي:

  • $ find /usr/local/lib -type f -print -exec chmod 644 {} \;
  • $ find /usr/local/lib -type d -print -exec chmod 755 {} \;
  • $ chmod /usr/local/lib 755
maudulus picture
في ٧ ديسمبر ٢٠١٥
19

كان علي أن أفعل ما يلي:

  1. brew update
  2. brew uninstall node
  3. قم بزيارة https://nodejs.org/en/ لتنزيل الملف
  4. قم بتثبيت الملف الذي تم تنزيله
Prakash Ramasamy picture
في ٢٢ يونيو ٢٠١٧
9

لتثبيت حزم npm عالميًا بإذن sudo ، يجب أن يتوفر /usr/bin/npm . إذا كان npm موجودًا في دليل آخر ، فأنشئ رابطًا بسيطًا مثل:

sudo ln -s /usr/local/bin/npm /usr/bin/npm

وهو يعمل على Fedora 25 و node8.0.0 و npm5.0.0

江南消夏 picture
في ٢٦ فبراير ٢٠١٦
8

بالنسبة لمستخدمي CentOS ، هذا يناسبني:

sudo yum install npm
friederbluemle picture
في ٢ نوفمبر ٢٠١٩
6

على macOS ، نجح ذلك بالنسبة لي:

brew reinstall node
Shaharyar Zafar picture
في ٢٩ أكتوبر ٢٠١٦
5

لدبيان بعد تثبيت العقدة أدخل

curl -k -O -L https://npmjs.org/install.sh    
ln -s /usr/bin/nodejs /usr/bin/node  
sh install.sh