web-gelistirme-sc.com

Nodejs Windows'ta kurulu modülü bulamıyor mu?

Şu anda Windows'ta düğümleri öğreniyorum. Çeşitli modüller npm.cmd ile global olarak kurulur ve nodejs yüklü modülleri bulamadı. Örneğin yeşim al

npm install jade -g

Jade, "C:\Program Files (x86)\nodejs\node_modules" dizinine kuruldu, ancak aşağıdaki kod, bir "Cannot find module 'jade'" hatasıyla başarısız olacak,

var jade = require('jade');

Ancak, yeşim yerel olarak kurulduğunda kod başarıyla çalışacaktır (npm'de -g seçeneği olmadan). Yerel olarak monte edilmiş modülleri kullanmak istemiyorum, bu benim için disk alanı israfı, birisi küresel olarak monte edilmiş modülleri Windows üzerinde çalıştırmam için bana yardımcı olabilir mi?

215
Cosmore

NODE_PATH adlı bir ortam değişkeni ekleyin ve %USERPROFILE%\Application Data\npm\node_modules (Windows XP), %AppData%\npm\node_modules (Windows 7/8/10) olarak ayarlayın ya da npm'in Windows lezzetinize modülleri kurarak biteceği yer. Bir kez ve herkes için yapılması gerekenleri, bunu Sistem Özellikleri iletişim kutusunun Gelişmiş sekmesinde bir Sistem değişkeni olarak ekleyin (control.exe sysdm.cpl,System,3 komutunu çalıştırın).

Windows 7+ ürünündeki hızlı çözüm, yalnızca şunları çalıştırmaktır:

rem for future
setx NODE_PATH %AppData%\npm\node_modules
rem for current session
set NODE_PATH=%AppData%\npm\node_modules

NODE_PATH öğesinin yalnızca Düğüm uygulamalarında modülleri içe aktarırken kullanıldığını belirtmek gerekir. CLI'nizde global olarak kurulu olan modüllerin ikiliklerini kullanmak istediğinizde, bunu PATH dosyasına eklemeniz gerekir, ancak node_modules bölümü olmadan (örneğin, Windows 7/8/10'da %AppData%\npm).


Eski hikaye

Kendimi node.js için yeniyim, bu yüzden tamamen doğru olmayabilirim ama deneyimlerime göre şu şekilde çalışıyor:

  1. -g global kütüphaneleri kurmanın bir yolu değildir, onları sistem yoluna koymanın bir yoludur, böylece onları tam yolunu yazmadan komut satırından çağırabilirsiniz. Örneğin yararlıdır, sonra düğüm uygulaması less gibi yerel dosyaları dönüştürür - eğer onu global olarak yüklerseniz herhangi bir dizinde kullanabilirsiniz.
  2. node.js npm global dir dizinine bakmadı, gerekli dosyaları bulmak için başka bir algoritma kullanıyor: http://nodejs.org/api/modules.html#modules_file_modules (temelde her klasörü taramak node_modules klasörünün akımından başlayarak yolu kontrol eder).

Daha fazla ayrıntı için benzer soruya bakın: npm kullanarak global olarak bir modülü nasıl kurarım?

318
Alexey Ivanov

eğer windows7 platformundaysanız, NODE_PATH cihazını şu şekilde değiştirmelisiniz: %AppData%\npm\node_modules

33
Jack

Bir zombiyi uyandırabileceğimi biliyorum ama bunun hala bir sorun olduğunu düşünüyorum, Windows 7'deki düğüm modüllerine genel erişime ihtiyacınız varsa, bunu genel değişken yolunuza eklemeniz gerekir: 

C:\Users\{USER}\AppData\Roaming\npm

Önemli: Yalnızca node_modules bölümü olmadan bu işlemi görmem yarım saatimi aldı.

24
Vitaliy Terziev

Windows 10'da çalışmasını sağlamak için PATH'e %USERPROFILE%\AppData\Roaming\npm klasörünü ekleyerek çözdüm. \node_modules 'un bu şekilde eklenmesi: %USERPROFILE%\AppData\Roaming\npm\node_modules\ benim için işe yaramadı.

15
Andi-lo

Ben sadece bu düğümün blog yazısından alıntı yapacağım ...

Genel olarak, genel kural:

  • Programınıza kullanmak istediğiniz bir şeyi yüklüyorsanız, şartı kullanarak ('ne olursa olsun'), daha sonra yerel olarak yükleyin. senin projen.
  • Kullanmak istediğiniz bir şeyi Shell'inize, komut satırına veya başka bir şeye yüklüyorsanız, genel olarak kurun, böylece onun. ikili dosyalar PATH ortam değişkeninize girer.

...

Tabii ki, ikisini birden yapmak istediğiniz durumlar var. Coffee-script ve Express her ikisi de bir a. komut satırı arayüzü yanı sıra bir kütüphane. Bu gibi durumlarda, yapabilirsiniz. aşağıdakilerden birini yapın:

  1. Her iki yere de yükleyin. Cidden, diskte bu kadar kısa mısın? Sorun değil, gerçekten. Onlar küçük JavaScript programları.
  2. Global olarak kurun ve npm link coffee-script veya npm link express (eğer sembolik linkleri destekleyen bir platformdaysanız). tüm linkleri .__ olarak güncellemek için sadece global kopyayı güncellemeniz gerekir. iyi.
12
soemarko

Kısaltmak için, uygulama dizininizde npm link jade kullanın.

10
sntran

Ortam değişkenleri eklemeye/düzenlemeye çalışıp şu sonucu çıkarmaya çalıştım:

  1. User variables (alt kısmın) yerine System variables (üst kutudaki) düzenleyin/ekleyin; Aksi takdirde, çalışması için "yönetici olarak çalıştır" yapmanız gerekir.
  2. Komut satırı aracı olarak kullanmak için ;%AppData%\npm a Path ekleyin (eğer varsa, jshint ve grunt-cli gibi).
  3. Scriptlerde require('<pkg_name>') komutunu proje dizinine kurmadan NODE_PATH oluşturun ve %AppData%\npm\node_modules olarak ayarlayın. (Ancak npm link önerilmektedir bu gereksinim için, Vista ve daha yenisi gibi mklink ile işletim sistemi üzerinde çalışıyorsanız.)

Test ortamı:

  • Win 7 (Ent., 64-bit, SP1), Node.js 4.2.4, npm 2.14.12
  • 8.1 kazanmak (Ent., 64-bit), Node.js 0.10.30, npm 1.4.21
8
Kong Kao

Windows 7'de bu sorunla karşılaştım, çalışıyor

npm install -g gulp

normal bir kullanıcı olarak giriş yaparken yönetici olarak.

Çözüm: Normal kullanıcı ile aynı kurulumu yaparken (cmd için "admin olarak çalıştır" değil) her şey yolundaydı. Sanırım varsayılan yükleme ve arama yolu ile ilgili.

5
Sebastian

Global modülleri işe almak için korkunç bir zaman geçirdim. Sonunda, açıkça Sistem Değişkenleri altındaki PATH değişkenine C:\Users\yourusername\AppData\Roaming\npm ekledim. Ayrıca, bu değişkenin listedeki nodejs yol değişkeninden önce gelmesi gerekiyordu.

Windows 10 kullanıyorum.

5
John Galt

Windows için herkes, düğümler ve npm modülleri için ortam değişkenleri ayarlamanız gerektiğini söyledi, fakat nedenini biliyor musunuz? Bazı modüller için, komut satırı aracına sahiptirler, modülü kurduktan sonra, orada [modül] .cmd dosya C:\Program Files\nodejs, ve kullanılırlar. pencere komutunda başlatmak için. Dolayısıyla, cmd dosyasını içeren yolu ortam değişkenlerine eklemiyorsanız % PATH%, onları komut penceresinden başarıyla başlatmazsınız.

4
Kiki.J.Hu

Win8.1 npm ile benim açımdan itibaren C:\Users\[UserName]\AppData\Roaming\npm\node_modules .__ üzerine modüller kurar. ama dumply onları C:\Users\[UserName]\node_modules adresinde arar.

Tam yoldan uygulamada basit bir çözüm referans modülü:

var jsonminify = require("C:/Users/Saulius/AppData/Roaming/npm/node_modules/jsonminify");
3
Saulius

Aynı sorunu vardı, bower'ı npm install -g bower ile kurmaya çalışırken

Sanırım bunun nedeni düğümün ben değil, başka bir kullanıcı tarafından yüklenmesiydi.

Düğümü kaldırdım ve tekrar kurdum. Kurulum sırasında, bu metni PATH bölümüne ekle> npm modülleri için gördüm:

Düğüm kurulumunda mesaj

 enter image description here

Düğüm kurulumundan sonra, tekrar npm install -g bower çalıştırdım. Ve şimdi bower çalışıyor.

Tabii benim gibi, kendi kullanıcı ile düğümü yeniden yüklemek gerekli değildir. Çözüm, diğer kullanıcıların açıkladığı gibi NODE_PATH veya YOL değişkenleriyle yapılmalıdır.

Bu, yalnızca bu sorunun yalnızca düğüm başka bir kullanıcı tarafından yüklenmişse meydana geldiğini belirtmek içindir (veya kurulum sırasında PATH> npm modüllerine ekle seçeneği işaretli değilse).

1
Gregorio

Windows 10'lu yeni bilgisayarımda node.js'yi visual studio 2015 ile kullanmak istediğim için bu soruna tökezledim. Windows 7 ve 8 ve 8.1'de node.js kullandım. Eski bir node.js 0.10.39 kullanıyorum çünkü seri ve RFXCOM modülü nedeniyle bu sürümü kullanmam gerekiyor.

Windows 10 için cevap, NODE_PATH'yi, C:\Users\Kullanıcı\node_modules olan ortam değişkenlerinde ayarlamaktır.

1
wetlip

Windows 10 için, klasöre yerel olarak yonga yüklemek zorunda kaldım:

C:\Users\myaccount\AppData\Roaming\npm\node_modules

npm install gulp

Bu "yudum tanınmıyor" sorunumu çözdü

1
Bizz Websites

Alternatif olarak ~/.npmrc right prefix 'ye ekleyebilirsiniz. 64 Win7 için C:\Program Files\nodejs var.

1
dmi3y

Yukarıdaki cevapların hepsi benim için işe yaramadı. Sonunda çalışan tek şey, C:\Program Files\nodejs içindeki iki ng dosyasını silmek için% AppData%\npm ortamındaki Path değişkenine, VE eklenmesiydi.

Ng paketleri C:\Program Files\nodejs\node_modules içine yüklenmedi, bu yüzden nodejs dizininden ng binary kullanmanın işe yaramayacağı açıktı.

Neden bu dizinde aradığından emin değilim, çünkü C:\Users\MyUser - - PATH ortam değişkeni - .npmrc C:\Users\MyUser - sistem değişkenleri ve/veya NODE_PATH eklemeye çalıştı.

0
devqon

Sadece düğümü this adresinden indirip yeniden kurun ve bu, tüm yol sorunlarını çözecektir. 

Komut İstemi veya terminal komutunuzu yeniden başlatmayı unutmayın.

0
Mahendra