2014-09-06 21 views
28

nodejs uygulamasında yeniyim ve bower modülünü global olarak kurdum. O zamandan beri, npm liste komutu Web'de aramış şu çıktıyı verir ama herhangi bir yardım bulamadık: çıkışınınnpm listesi kullanılırken 'geçersiz' ne anlama geliyor?

**npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/chalk 
npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex 
npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore 
npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/got/node_modules/object-assign 
npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/registry-url 
npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/string-length/node_modules/strip-ansi 
npm ERR! not ok code 0** 

gerisi normaldir ve yüklü modülleri listeler. Neler olduğunu açıklayan var mı?

+0

Bu cevabı kontrol edin. Aynı problemi yaşadım ve bu düzeltildi. http://stackoverflow.com/questions/25238544/npm-err-invalid-strip-ansi0-2-2 – pasine

cevap

11

Bu, bir şeyin "async":"0.9.3"'a bağlı olduğu anlamına gelir, ancak require("async") yaptıklarında, npm başka bir sürüm aldıklarını düşünür. Ayrıca, package.json dosyanızda listelenen bağımlılıkların ve sürümlerinin mevcut olduğunu kontrol edin.

herşey sağa sonra ise,

npm install. 
+1

Cevabınızı açıklayabilir misiniz? somelib' en 'package.json'' "zaman uyumsuz" bağlıdır 'edin: "0.9.3"', mutlaka npm somelib/node_modules içine asenk 0.9.3 yükleyip gerekir '("uyumsuz") gerektiren' asenk kadar yük gerektiğini 0.9.3. Async'in farklı bir sürümünü yükleyeceği koşullar hakkında bilgi verir misiniz? Cevabınızın yardımından şüphe etmeyin, tam anlamıyorum. – mikemaccana

+2

@mikemaccana 'somelib' en' package.json' hep o modüle yerel somelib' en 'package.json'' belirtilen modül versiyonunu kuracaktır. Yani, modül içinde herhangi bir sorun yaratmayacaktır. Ancak, proje kurulumunda, npm 'yi async @ 0.6' gibi bir şey yaptıysanız ve 'package.json'da bağımlılık' async: 0.9.x' olarak belirttiyseniz, bu durumda ortaya çıkar. – Ravi

+1

Ah. Proje kurulumum normalde 'npm install' (herhangi bir seçenek olmaksızın) çalıştırır ve pakette ne varsa yükler.json' çünkü tüm bağımlılıklar 'package.json' (veya shrinkwrap dosyası) olmalıdır. – mikemaccana

0

ben ilgili ama farklı bir hata alıyorum (ama burada bitti edildi, ardından

npm update 

ile bu sorunu çözebilir, bu yüzden cevap veriyorum Burada) npm update çalıştırdıktan sonra alırdım. (npm install ile böyle bir sorun FWIW)

[email protected] /home/malcolm/myapp 
├── [email protected] invalid 

beeminder paket ben sürdürmek biridir benim ana app ben latest onun semver batmıştı yüzden. Bu daha önce iyi çalışıyor gibi görünüyordu, ama daha yeni bir sürümü npm bunu sevmiyor sanırım.

bunu ben yeni değişiklikler takdim edeceğim o zaman muhtemelen kendi Neyse kodu değiştirmeden ediyorum çünkü sadece ^1.4.3 kullanmak için makul olduğunu düşündüm. Ancak bazı garip nedenlerden dolayı bir paketin en son sürümüne ihtiyacınız varsa (değişiklikleri de dahil!), 'u ^ yerine bir önek olarak kullanabilirsiniz.

3

Bir modülün daha yeni bir sürümünü yükledikten sonra, package.json'u güncellemeden bu hatayı alıyordum. Yani package.json eski sürümü gerekli iken npm list benim node_modules dizinde daha yeni bir sürümünü tespit ediyordu.

Aşağıdaki komutu çalıştırdığınızda mesajdan kurtuldum.

npm install {required_module}@{new_version} --save

35

ben "bağımlılıkları" ve farklı sürümleri ile "devDependencies" hem yüklü aynı paket olan bu hatayı alıyordum.

+0

bu kabul edilen cevap olmalı – Andreas