Hata: Ionic kullanırken '../lib/utils/unsupported.js' modülü bulunamıyor


262

Her zaman "İyonik başlangıç ​​proje adı" çalıştırdığınızda bu hata iletisini alıyorum:

Hata mesajı

Running command - failed![ERROR] An error occurred while running npm install (exit code 1):

    module.js:471
        throw err;
        ^

    Error: Cannot find module '../lib/utils/unsupported.js'
        at Function.Module._resolveFilename (module.js:469:15)
        at Function.Module._load (module.js:417:25)
        at Module.require (module.js:497:17)
        at require (internal/module.js:20:19)
        at /usr/local/lib/node_modules/npm/bin/npm-cli.js:19:21
        at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:79:3)
        at Module._compile (module.js:570:32)
        at Object.Module._extensions..js (module.js:579:10)
        at Module.load (module.js:487:32)
        at tryModuleLoad (module.js:446:12)

Göreceli yol yanlış ..
Subburaj

./bash_profile
Mohan Gopi

Yanıtlar:


774

/usr/local/lib/node_modules/npmDüğümü yeniden kaldırmayı ve yeniden yüklemeyi deneyin . Bu çalışmalı.

Homebrew ile MacOS'ta :

sudo rm -rf /usr/local/lib/node_modules/npm
brew reinstall node

1
: kimse var aracılığı bulucu almak istiyorsa knowledge.autodesk.com/support/smoke/troubleshooting/caas/...
A.com

13
Demlemek kullanıyorsanız şunları kullanabilirsiniz: brew unistall --force nodevebrew install node
Nico

15
@Nico ilk komutun bir yazım hatası var. Düzeltme olacak brew uninstall --force node.
Jayant Bhawal

11
neden oluyor?
Gaurav Paliwal

4
Yukarıdaki komutları uyguladıktan sonra, şimdi >> -bash: / usr / local / bin / npm: Böyle bir dosya veya dizin yok
Tarun

81

Önceki cevapları takip ettim ve düğümü yeniden kurdum. Ama bu hatayı aldım.

Uyarı: Yükleme sonrası adımı başarıyla tamamlanmadı brew postinstall node

Bu komutu çalıştırdım

sudo chown -R $(whoami):admin /usr/local/lib/node_modules/

Sonra koştu

brew postinstall node

alternatif olarak sudo chown -R $ (whoami) $ (demlemek --prefix) / *
Pathfinder

27

Benzer bir hata aldım ve şimdi çalışıyor.

Öncelikle en son sürüme sahip olduğunuzdan emin olun

brew update

Önceki düğüm örneğinizi kaldırın:

brew uninstall node

Ardından en son sürümü yeniden yükleyin:

brew install node

Ve daha önce yoksa / usr / local simgesine bağlandığından emin olun. Bu adımı tamamlamanızı bildiren bir hata alırsınız.

brew link --overwrite node 

Düğümün nasıl yükleneceği / yükseltileceği hakkında daha fazla ayrıntı da mevcuttur .


12
Sen kullanabilirsiniz brew uninstall --ignore-dependencies nodeörneğin şunlara sahip, eğer yarnsisteminizde.
Sound Blaster

18

Mac OS X'te (10.12.6), aşağıdakileri yaparak bu sorunu çözdüm:

brew uninstall --force node
brew install node

Sonra düğüm postinstall'ın başarısız olduğunu ve yeniden çalıştırmak için şikayet bir hata aldım brew postinstall node

Sonra bir hata aldım:

permission denied @ rb_sysopen /usr/local/lib/node_modules/npm/bin/npx

Bu hatayı şu şekilde çözdüm:

sudo chown -R $(whoami):admin /usr/local/lib/node_modules

Ve şimdi bu hatayı artık almıyorum.


1
Bunu birkaç kez tekrarlamak zorunda kaldım, ya da yaratılması gereken ya da sahipliğini değiştirmek için gerekli olan farklı klasörlerde (kullanıcıma). Her seferinde bir brew postinstall nodesonraki sorunu bulmak için koştuğumda, bunu düzeltin, tekrarlayın.
T. Kim Nguyen

9

"N" kütüphanesi kullanıyorsanız @ https://github.com/tj/n . Aşağıdakileri yapın

  echo $NODE_PATH

Düğüm yolu boşsa, o zaman

sudo n latest    - sudo is optional depending on your system

Node.js sürümlerini n kullanarak değiştirdikten sonra, npm düzgün çalışmayabilir.

curl -0 -L https://npmjs.com/install.sh | sudo sh
echo NODE_PATH

Düğüm Yolunuzu şimdi görmelisiniz. Başka, başka bir şey olabilir


8

Daha önce de belirtildiği gibi.

 sudo rm -rf /usr/local/lib/node_modules/npm
 brew uninstall --force node                
 brew install node

6

Yukarıdaki / eski demlemek kurulum cevapları denedim, hiçbiri benim laptop için çalışmıyor.

Yalnızca aşağıdaki yöntem sorunumu çözebilir.

1) Aşağıdaki komutları çalıştırın:

sudo rm -rf /usr/local/lib/node_modules/npm
brew uninstall --force node      

2) Daha sonra, yeni kurulum için en son paketi indirmek için Node.js Resmi Web Sitesi https://nodejs.org/en/download/current/ adresine gidin .

3) npm komutunuzu tekrar çalıştırın, bu hataların artık daha uzun olması gerekir.

Bu yöntem macOS Mojave Sürüm 10.14.4 üzerinde çalışıyor .



2

Evet, düğümü yeniden yüklemelisiniz:

sudo rm -rf /usr/local/lib/node_modules/npm
 brew uninstall --force node                
 brew install node

2

Sadece üç adımı takip edin;

  1. npmÖnbelleği zorla temizleyin :

    npm cache clean -f

  2. nPaketi şu şekilde global olarak yükleyin npm:

    npm install -g n

  3. Üç seçenekten herhangi birini yükleyin:

    a. sudo n stable (get the stable version)

    b. sudo n latest (get the latest version of node)

    c. sudo n x.x.x (get the specific version of node)


2

Hata Cannot find module '../lib/utils/unsupported.js'kaynaklanır require('../lib/utils/unsupported.js')içinde ./lib/node_modules/npm/bin/npm-cli.js.

Nodejs requirebelgelerine göre , gerekli modül dosyaya göre başlar ../.

Bu nedenle, göreli yolu ../lib/utils/unsupported.jsbaşlangıçtan itibaren alırsak ./lib/node_modules/npm/bin/npm-cli.js, gerekli modülün içinde bulunması gerekir ./lib/node_modules/npm/lib/utils/unsupported.js. Orada değilse, iki seçenek görüyorum:

  • kurulum bozuk, bu durumda Vincent Ducastel'in düğümü yeniden kurma cevabı işe yarayabilir
  • npmiçin sembolik bağlantı yok ./lib/node_modules/npm/bin/npm-cli.js. Kurulumumda hataya neden olan şey budur. Eğer ararsanız npm, genellikle PATHenv var. Örneğin, içinde bulunabilir ./bin. Ancak, npmbir ./bindizinde sadece yukarıda belirtilenler için bir sembolik bağlantı olmalıdır ./lib/node_modules/npm/bin/npm-cli.js. Bir symlink değilse ancak doğrudan kodu içeriyorsa, yükleme işleminin bir noktasında, symlink'in bağlandığı dosya ile değiştirilmiştir. Bu durumda, symlink'i yeniden oluşturmak yeterli olmalıdır:cd ./bin; rm npm; ln -s npm ./lib/node_modules/npm/bin/npm-cli.js

Modülleri göreli olarak ararken bunlar dikkate alınmadığından NODE_PATHveya npmrcyapılandırmasını kontrol etmenizi öneren tüm cevaplar yok sayılmalıdır.


1

Yükleme / güncelleme yöntemlerini karıştırarak bu hatayı aldım: web sitesinden paket indirerek yüklü düğüm ve daha sonra güncellemek için demlemek kullandım.

Demlemek sürümünü kaldırarak düzeltildi:

demlemek kaldırma --ignore bağımlılıkları düğümü

Daha sonra düğüm web sitesine geri döndüm ve paket yöneticisi aracılığıyla indirip yükledim: https://nodejs.org/en/download/ Bazı nedenlerden dolayı demlemek yoluyla yeniden yüklemeye çalışma miktarı işe yaramadı.


0

Benim durumumda $ NODE_PATH eksikti:

NODE="/home/ubuntu/local/node" #here your user account after home
NODE_PATH="/usr/local/lib/node_modules" 
PATH="$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:$NODE/bin:$NODE/lib/node_modules"

Sadece echo $NODE_PATHboş kontrol etmek ayarlanmadığı anlamına gelir. Bunları .bashrc'ye eklemeniz önerilir.


0

Fedora 27'de bunu yaparak sorunu çözdüm:

sudo rm -f  /usr/local/lib/node_modules/npm
sudo dnf reinstall nodejs

0

Bu, bilgisayar işletim sisteminizden düğümü kaldırma hakkında yararlı bir video ve blog yazısıdır. Düğümü ilk etapta nasıl kurduğunuza bağlı olarak farklı bir kaldırma yöntemidir (demlemek veya ikili dosya https://nodejs.org/en/ adresinden indirilir.

  • Homebrew ile düğüm yüklediyseniz, demlemek kaldırma düğümü çalışacaktır. node -vTerminalinizde bir komut çalıştırarak bunu doğrulayın .

  • Eğer gelen ikili dosyasını yüklediyseniz Aksi ve nodeJS internet sitesinde o zaman, terminal bu komutu çalıştırmak zorunda: sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}. Yine, bir node -v komutu çalıştırarak bunu doğrulayın.

  • Her iki durumda da, düğümün başarılı bir şekilde kaldırılması, bash'ın tamamen kaldırıldığında düğümün ne olduğunu tanımamasına neden olmalıdır.


2
Bir çözümün bağlantısı bir yanıtı desteklemeye açıktır , ancak gönderdiğiniz yanıt tamamen bağımsız olmalıdır, yani ziyaretçilerin beklenmedik veya kötü amaçlı içerik barındırabilecek veya artık mevcut olmayan başka bir siteye tıklamasını gerektirmemelidir.
Üçlü


0

Bu, npm/libklasör herhangi bir nedenle boşaltıldığında meydana gelebilir (son kullanımdaki izin sorunları nedeniyle de olabilir).

Düğümün yeniden yüklenmesi sorunu çözebilir (burada diğer yanıtlarda belirtildiği gibi), ancak nvmbirden fazla sürümünü yönetebilen (Düğüm Sürümü Yöneticisi) adlı harika bir araç kullanmanızı öneririm nodeve npm- bu çoğunlukla dev makinelerde yararlıdır birden fazla proje ile farklı düğüm sürümleri gerektirir.

Ne zaman NVM yüklemek , bu mesaj kaybolacak ve en son sürümüne sahip olacak nodeve npmkullanımı ile ilgilidir.

NVM'nizde yüklü olan düğüm sürümlerinin listesini görmek için şunu çalıştırın:

nvm list

Yeni bir düğüm sürümü yüklemek ve kullanmak için şunu çalıştırın:

nvm install <node_version>

Örneğin, düğüm 10.x'in en son sürümünü yüklemek için şunu çalıştırın:

nvm install 10

Şu anda yüklü sürüme geçmek için şunu çalıştırın:

nvm use <node_version>

Sistemin orijinal düğüm sürümüne geçmek için şunu çalıştırın:

nvm use system

Bu yardımcı olur umarım.

İyi şanslar!

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.