سؤال

لقد بحثت في صفحة وحدات الويكي ، لكن لا يمكنني العثور على أي شيء مشابه لـ VirtualEnv (Python) أو RVM.

أي شخص هنا يفصل Node.js في ENV الخاصة بهم؟ أنا حقًا لا أحب تثبيت NPM على مستوى النظام.

هل كانت مفيدة؟

المحلول

إذا كان وجود حزم NPM واسعة النظام هو مشكلتك الرئيسية ، فربما تفكر في استخدام أمر "حزمة" رائع للغاية مع NPM. هذا أقرب إلى تجميد الأحجار الكريمة أو استخدام Bundler في القضبان ، بدلاً من RVM.

إنه أمر سهل للغاية. فقط قم بإنشاء ملف package.json:

{ "name": "yourapp", "version": "0.0.1", "dependencies": {"jade": "0.4.1"}}

ثم الركض:

npm bundle vendor

أو إذا كان إصدار NPM الخاص بك هو> = 1.0 تشغيل:

npm install

لتجميد في دليل البائع. ثم استخدم:

require.paths.unshift('./vendor');

نصائح أخرى

ندوينيف - البيئة الافتراضية لـ Node.js (التناظرية VirtualEnv )

هناك أيضًا بعض أنظمة إدارة إصدار العقدة التي يمكن أن تساعد.

تحقق من صحن https://github.com/isaacs/nave

يمكن أيضًا استخدام NVM https://github.com/creationix/nvm

هناك أيضا واحد يسمى n https://github.com/visionmedia/n

إجابة BXJX دقيقة من الناحية المفاهيمية. ومع ذلك ، يرجى ملاحظة أن أمر الحزمة لم يعد يأخذ دليلًا. هو - هي دائماً يسقط الحزم في node_modules المجلد ، بحيث تعرف NPM مكان العثور عليها لاحقًا (ويمكنها تجنب التبعيات الثابتة).

من المحتمل أن يتضمن أي حل تثبيت NPM و Nave "على مستوى النظام" (أي في الخاص بك PATH, التي يمكن أن تكون في ~ في مكان ما) ، ولكن بعد ذلك فقط تثبيت الخاص بك تبعيات محددة في البيئة الافتراضية.

أجبت بشكل أكثر شمولية على قضية جيثب.

TL ؛ DR: حالة الاستخدام صالحة ومفيدة ، وعلى الرغم من وجودها في الغالب ، فإنها لا يتم تقديمها بشكل جيد كما يمكن أن تكون. يجب أن نتأكد من التفكير في ذلك والقيام بذلك بشكل صحيح.

لا تحتاج دائمًا إلى تثبيت التبعيات على مستوى العالم. عادة ما يوصى به لأنه يمكنك بعد ذلك استخدام الأوامر التي توفرها حزم NPM ، ولكن إذا قمت بتثبيتها محليًا (في node_modules) الدليل ، يمكنك أيضًا استخدام هذه الأوامر ، فهي تنتهي فقط في node_modules/.bin/ الدليل ، لذلك عليك الكتابة node_modules/.bin/<command>, ، وهو أمر مزعج ، لكن يمكنك بالطبع إضافة هذا المسار إلى PATH متغيرات البيئة:

export PATH=node_modules/.bin:$PATH

ثم يمكنك الكتابة فقط <command> ويعمل!

يوجد في الواقع أمر NPM يعيد طريقًا مطلقًا إلى .bin الدليل:

$ npm bin
/path/to/node_modules/.bin

يعمل هذا الأمر أيضًا عندما تكون في دليل فرعي للمشروع ، وسيعود الأول node_modules/.bin الدليل الذي يجده في أدلة الوالدين.

يمكنك إضافة هذا الاسم المستعار في .bashrc لإضافة تلقائي .bin/ دليل لك PATH:

alias nodebin='export PATH=$(npm bin):$PATH'

لذلك عندما تكون في دليل مشروع يحتوي على ملف node_modules/ دليل في الجذر ، يمكنك الكتابة nodebin وبعد ذلك يمكنك استخدام جميع الأوامر الموجودة في .bin/ الدليل!

يبدو أن هناك طريقة أفضل:

تثبيت node.js و npm في python virtualenv

الآن يمكنني استخدام أدوات العقدة دون فوضى بيئة بن العالمية

إذا كنت تحب ذلك بسيطًا ، فإنني أوصي بصدق VisionMedia's ن, ، لا يمكن أن يكون أسهل!

https://github.com/visionmedia/n

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top