2012-08-30 16 views
5

Mam zainstalowany plik node.js v0.8.8 zarówno z instalatora pkg, jak i skompilowany ze źródła. Jednak pojawia się następujący błąd podczas próby uruchomienia npm. Każda pomoc będzie doceniona.node.js na Mac OS X npm "Błąd: brak takiego modułu"

> $ npm --help 
> 
> /usr/lib/node_modules/npm/lib/utils/config-defs.js:5 , stdio = 
> process.binding("stdio") 
>     ^Error: No such module 
>  at Object.<anonymous> (/usr/lib/node_modules/npm/lib/utils/config-defs.js:5:21) 
>  at Module._compile (module.js:449:26) 
>  at Object.Module._extensions..js (module.js:467:10) 
>  at Module.load (module.js:356:32) 
>  at Function.Module._load (module.js:312:12) 
>  at Module.require (module.js:362:17) 
>  at require (module.js:378:17) 
>  at Object.<anonymous> (/usr/lib/node_modules/npm/lib/utils/ini.js:43:18) 
>  at Module._compile (module.js:449:26) 
>  at Object.Module._extensions..js (module.js:467:10) 
+1

Hehehe, "brak modułu ssania". Nie naprawiaj tego. :) –

Odpowiedz

3

Jakimś sposobem używasz starej wersji NPM. zobacz: npm issue

+3

Dzięki, musiałem sklonować repozytorium git (git: //github.com/isaacs/npm.git), następnie musiałem ręcznie usunąć wszystko/usr/lib/node_modules/npm i/usr/bin/npm *) następnie uruchom "sudo make install") –

+0

Huh ... Zastanawiam się, dlaczego węzeł nie zastąpił binarnego npm, gdy skompilowałeś go z src ... – xen

9

Miałem dokładnie taką samą aktualizację wydania z Node.JS 0.4 do 0.8. To, co zadziałało, było następujące:

Instalator pakietów NX.JS błędnie nie usuwa starej instalacji 0.4 npm w katalogu/usr/bin, która następnie jest w konflikcie z nową wersją 0.8 w/usr/local/bin. To tylko nadpisuje to, co już istnieje. I nuked starą usuwając go, ale aby upewnić się, że zdecydował się na czystej instalacji byłoby lepiej:

curl https://npmjs.org/install.sh | sudo clean=yes sh

Był jeden ostatni problem: po instalacji, chociaż which npm poprawnie zwraca /usr/local/bin/npm, bash próbował kontynuować wykonywanie z/usr/bin. Dzieje się tak, ponieważ w systemie OS X bash utworzył nazwę pliku wykonywalnego. Hashowanie zapisuje wielokrotne wyszukiwania wszystkich katalogów w zmiennej PATH za każdym razem, gdy wykonujesz wspólne programy. W tym numerze zajął się wiersz hash -r.

+1

Nie mam na to szczęścia, uaktualnionego z węzła 0.4 do 0.10. – SimplGy