كيف تقوم بإعداد NPM (مدير حزمة العقدة) دون الوصول إلى الجذر؟
-
02-10-2019 - |
سؤال
إعداد NPM كمستخدم الجذر هو أمر سريع ويعمل. إلا أنه يجب عليك تشغيل أوامر NPM كجذر (غير موصى به). لذلك اعتقدت أنني سأحاول إعداده كمستخدم غير الجذر.
وفقًا لوثائق NPM ، يمكن لمستخدم غير الجذر بدون وصول الجذر إعداد NPM بواسطة:
- خلق شيء
.npmrc
ملف معroot
,binroot
, ، وmanroot
مشيرا إلى المجلدات التي يملكها المستخدم. - ثم تشغيل البرنامج النصي للتثبيت.
نعم. التثبيت كان جيدا.
لكن العقدة لا تستطيع رؤية الحزم التي توفرها NPM.
إذن كيف يمكنني إطلاع العقدة على الحزم التي توفرها NPM؟ (لم يكن عليّ أن أفعل أي شيء عندما قمت بتثبيت NPM سابقًا كجذر). يمكنني ضبط require.paths
داخل العقدة ، أو اضبط NODE_PATH
متغير البيئة ، ولكن إلى ماذا؟
شكرًا.
المحلول
من خلال القليل من الاستكشاف ، يبدو أنه يمكنك إما:
- وضع الخاص بك
NODE_PATH
إلى أي دليل جذر NPM ، أو - أثناء وجوده في العقدة ، استدعاء
require.paths.push('path_to_npm_root')
نصائح أخرى
هذا عمل بالنسبة لي:
جعل
~/.node
مجلدmkdir ~/.node
يحرر
~/.npmrc
وأضف الخطprefix = ~/.node
تحرير الخاص بك
~/.profile
أو~/.bash_profile
وأضف هذه الخطوطPATH="$HOME/.node/bin:$PATH" NODE_PATH="$HOME/.node/lib/node_modules:$NODE_PATH"
الآن يمكنني فعل أشياء مثل npm -g install http-server
وسوف يتم تثبيته ل ~/.node
بدون جذر. مع هذا في مكانه ، عندما أكتب بعد ذلك http-server
, ، يركض.