मैं npm लिंक का उपयोग करके स्थापित पैकेज की स्थापना कैसे रद्द करूं?


162

sudo npm linkपैकेज की निर्देशिका का उपयोग करके एक नोड पैकेज स्थापित करते समय , मैं विकास के साथ एक बार पैकेज की स्थापना रद्द कैसे कर सकता हूं?

npm linkसिस्टम के वैश्विक पैकेज स्थान ('/ usr / स्थानीय / lib`) में एक प्रतीकात्मक लिंक के रूप में पैकेज स्थापित करता है। यह आपको इसे विकसित करते हुए, फिर से और फिर से स्थापित किए बिना पैकेज का परीक्षण करने की अनुमति देता है।

जो npm कमांड मुझे लिंक को फिर से हटाने के लिए चलाने की आवश्यकता है?

जवाबों:


166

पैकेज को उसी अनइंस्टॉल या आरएम कमांड का उपयोग करके अनइंस्टॉल किया जा सकता है जो इंस्टॉल किए गए पैकेज को हटाने के लिए उपयोग किया जा सकता है। केवल यह ध्यान में रखना है कि लिंक को विश्व स्तर पर अनइंस्टॉल करने की आवश्यकता है - --globalध्वज को प्रदान करने की आवश्यकता है।

वैश्विक रूप से लिंक किए गए fooपैकेज की स्थापना रद्द करने के लिए , निम्न कमांड का उपयोग किया जा सकता है ( sudoयदि आवश्यक हो, तो आपके सेटअप और अनुमतियों के आधार पर)

sudo npm rm --global foo

यह पैकेज की स्थापना रद्द करेगा।

पैकेज स्थापित है या नहीं, यह जांचने के लिए, npm lsकमांड का उपयोग किया जा सकता है:

npm ls --global foo

5
यदि आप सुनिश्चित नहीं हैं कि लिंक किए गए पैकेज का नाम आप npm ls --global --depth 0अपने सभी शीर्ष स्तर की निर्भरता को सूचीबद्ध करने के लिए भी कर सकते हैं
schu34

1
यह अनुमति के मुद्दों के कारण मेरे लिए काम नहीं करता था, यहां तक ​​कि साथ भी sudo। मैंने डमी और फ़ील्ड के package.jsonसाथ गुम निर्देशिका बनाई ( पैकेज के नाम से मेल खाना चाहिए, कुछ भी हो सकता है)। उस फ़ोल्डर के अंदर मैं भाग गया और यह काम किया। nameversionnameversionnpm link && npm unlink
सिल्वॉन

npm uninstallस्थानीय पुस्तकालय फ़ोल्डर से भी काम करेगा।
बैकस्लैश

132

आप unlinkसिमलिंक को हटाने के लिए उपयोग कर सकते हैं ।

उदाहरण के लिए:

cd ~/projects/node-redis 
npm link                 
cd ~/projects/node-bloggy
npm link redis             # links to your local redis

अपने package.json से फिर से इंस्टॉल करने के लिए:

npm unlink redis
npm install

https://www.tachyonstemplates.com/npm-cheat-sheet/#unlinking-a-npm-package-from-an-application


4
नहीं है unlinkके रूप में ही rmके लिए npm? वे एक ही मैन पेज (साथ uninstall) साझा करते हैं ।
nwinkler

1
@nwinkler क्या आप एक लिंक साझा कर सकते हैं?
ब्लेयर एंडरसन

12
Npm स्रोत कोड अनइंस्टॉल करने के लिए rm, अनलिंक, रिम , r और un को उपनाम के रूप में उपयोग करता है: github.com/npm/npm/blob/… - पंक्ति 66ff देखें।
nwinkler

इस उत्तर के तल पर लिंक मेरे लिए मृत है।
लियोन याहदव

npm iवैसे भी सभी लिंक नहीं हटाएं?
इनवो सेवेन

19

एनपीएम लिंक दर्द:

-मॉडल नाम गुलप-टास्क

-प्रोजेक्ट नाम प्रोजेक्ट-एक्स


आप gulp-task को लिंक करना चाहते हैं :

1: gulp- टास्क डायरेक्टरी पर जाएं फिर ऐसा npm linkकरें कि यह प्रोजेक्ट आपके ग्लोबल मॉड्यूल्स को सिमिलर कर देगा

2: अपने प्रोजेक्ट प्रोजेक्ट- x पर जाएं फिर npm installकरंट नोड_मॉड्यूल्स डायरेक्टरी को हटाना न भूलें


अब आप इस पागलपन को दूर करना चाहते हैं और असली गुल-टास्क का उपयोग करना चाहते हैं , हमारे पास दो विकल्प हैं:

विकल्प 1: npm के माध्यम से अनलिंक करें:

1: अपने प्रोजेक्ट पर जाएं और ऐसा npm unlink gulp-taskकरने से लिंक किए गए इंस्टॉल किए गए मॉड्यूल को हटा दिया जाएगा

2: gulp- टास्क डायरेक्टरी में जाएं और npm unlinkसिमिलिंक को हटाने के लिए करें। ध्यान दें कि हमने मॉड्यूल के नाम का उपयोग नहीं किया है

3: मनाते हैं


यदि यह काम नहीं करता है, तो अपने वैश्विक स्थापित मॉड्यूल का पता लगाकर सत्यापित करें। मेरा स्थान है ls -la /usr/local/lib/node_modules/यदि आप nvm का उपयोग कर रहे हैं तो यह एक अलग रास्ता होगा


विकल्प 2: एक सामान्य लिनक्स गुरु की तरह सिमलिंक को हटा दें

1: अपनी वैश्विक निर्भरता का पता लगाएं cd /usr/local/lib/node_modules/

2: सिमिलिंक को हटाना केवल rmकमांड का उपयोग करना है

rm gulp-task सुनिश्चित करें कि आपके पास /अंत में नहीं है

rm gulp-task/ गलत है 🔥🚨

rm gulp-task ✔️


एक सादा करने से मेरी परियोजना के सभी पैकेज npm-unlinkहट गए ।
cst1992

2

अगर आप गलती से कुछ ऐसा किया है, तो npm linkबाद आप इसे बदल दिया है जनरेटर-webapp, आप इसे सही जनरेटर क्लोनिंग और जोड़ने के द्वारा ठीक कर सकते हैं कि

git clone https://github.com/yeoman/generator-webapp.git;
# for fixing generator-webapp, replace with your required repository
cd generator-webapp;
npm link;

0

npmjs (आपके पैकेज में निर्दिष्ट) के संस्करणों के साथ "npm लिंक" आपके n_dodules में "npm लिंक" के साथ स्थापित सभी निर्भरता को प्रतिस्थापित करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.