Npm kullanarak global olarak nasıl modül kurabilirim?


202

Son zamanlarda OSX'e Node.js ve npm modülünü kurdum ve bence ayarlarla ilgili bir sorunum var:

npm install [MODULE] is not installing the node.js module to the default path 
which is /usr/local/lib/node_modules.

Yanıtlar:


347

Global olarak bir npm modülü takmak istiyorsanız, yeni -gbayrağı kullandığınızdan emin olun , örneğin:

npm install forever -g

1.0rc beri npm modül kurulumu ile ilgili genel öneriler (alınan blog.nodejs.org ):

  • Programınızda kullanmak istediğiniz bir şey yüklüyorsanız, requir ('ne olursa olsun)' ı kullanarak projenizin kök dizinine yerel olarak yükleyin .
  • Kabuğunuzda, komut satırında veya başka bir şeyde kullanmak istediğiniz bir şey yüklüyorsanız , ikili dosyaları PATH ortam değişkeninize gelmesi için küresel olarak yükleyin .

Son zamanlarda bu önerileri kullandım ve oldukça sorunsuz bir şekilde indi. Sonsuza kadar küresel olarak kurdum (çünkü bir komut satırı aracıdır) ve tüm uygulama modüllerim yerel olarak.

Ancak, bazı modülleri global olarak kullanmak istiyorsanız (örn. Ekspres veya mongodb), bu tavsiyeyi alın ( blog.nodejs.org adresinden de alınabilir ):

Tabii ki, her ikisini de yapmak istediğiniz bazı durumlar var. Coffee-script ve Express'in ikisi de komut satırı arabirimi olan uygulamaların yanı sıra bir kütüphane için de iyi örneklerdir. Bu durumlarda, aşağıdakilerden birini yapabilirsiniz:

  • Her iki yere de takın . Cidden, disk alanı bu kadar kısa mı? Gerçekten iyi. Küçük JavaScript programları.
  • Global olarak yükleyin ve npm link kahve-script veya npm link express (sembolik linkleri destekleyen bir platformdaysanız.) O zaman sadece tüm linkleri güncellemek için global kopyayı güncellemeniz gerekir.

İlk seçenek bence en iyisidir. Basit, açık, açık. İkincisi, aynı kütüphaneyi bir dizi farklı projede yeniden kullanacaksanız gerçekten kullanışlıdır. (Gelecekte bir taksitte npm bağlantısı hakkında daha fazla bilgi.)

Bu varyasyonlardan birini test etmedim, ancak oldukça basit görünüyorlar.


7
Açıklamalar için teşekkürler. Isaacs, npm manfile ve git wiki'nin tamamını yukarıdaki metinle değiştirmelidir. Kitlesel karışıklığı giderebilir.
Mauvis Ledford

shweeet. Bu işe yaradı, bu değişikliğe yakalandım. Bir noktada npm install komut satırı erişimi verdi, sonra ortadan kayboldu ve projeyi geçişi yakalayacak kadar yakından takip etmiyordum.
Mark Essel

Bu, Apache yapılandırma dizinime neden bir düğüm modülünün geldiğini açıklıyor. . .
Ian Hunter

1
Gönderen blog.node.js.org : Genellikle küresel ikili / node_modules ve yerel modüller ./node_modules içindedir {önek} / bin ve küresel modülleri {önek} yüklenen yüklü olan, yürütülebilir ./node_modules/.bin/ gitmek . Kaçabilirsiniz npm prefixyerel öneki için ve node prefix -gküresel önek :) görmek
nacho4d

"Programınızda kullanmak istediğiniz bir şey yüklüyorsanız, requir ('ne olursa olsun)' i kullanarak , projenizin köküne yerel olarak yükleyin ." - Bence, modül derlenmiş ikili içeriyorsa iyi bir fikir değildir: linux ve pencerelerde düzgün bir şekilde yeniden derlenmesi gerekir. Ben modüllerin bu tür NODE_PATH ortamı vriable (kullanılarak ayarlanması düşünüyorum nodejs.org/api/... )
Sneg

8

Bir Mac'te, çıktının aradığım bilgileri içerdiğini buldum:

$> npm install -g karma
...
...
> ws@0.4.25 install /usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)
...
$> ls /usr/local/share/npm/bin
karma nf

Ekledikten sonra /usr/local/share/npm/binhiç export PATHskinTenimde hattı .bash_profile, kaydederek, ve sourcebunu ing, ben çalıştırmak başardı

$> karma --help

normalde.



2

Ubuntu'ya Express yüklerken sorunlar yaşadım:

Herhangi bir nedenle NPM komutu eksikse, npm komutunu ile test edin npm help. Yoksa, şu adımları izleyin - http://arnolog.net/post/8424207595/instal-node-js-npm-express-mongoose-on-ubuntu

Yalnızca Express komutu çalışmıyorsa, şunları deneyin:

sudo npm install -g express

Bu, Windows7 ve OSX ile alışkın olduğum gibi her şeyin çalışmasını sağladı.

Bu yardımcı olur umarım!


1

Süper kullanıcı ayrıcalıklarına sahip olmanız gerekir,

 sudo npm install -g <package name>

-1

Ubuntu'da, .bashrc dosyasındaki node_modules yolunu ayarlayın

export PATH = "/ ana sayfa / kullanıcı adı / node_modules / .bin: $ PATH"


-5

Genel konuma bir düğüm modülü yüklemek için yazma izniniz olmayabilir /usr/local/lib/node_modules, bu durumda npm install -g paketini root olarak çalıştırın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.