NPM ne fonctionne pas après la réinstallation de Mac OS X

Je devais réinstaller Mac OS X Mavericks sur mon ordinateur portable. Maintenant, NPM ne fonctionne pas. Cependant, le noeud est toujours sur l’ordinateur portable et npm est dans le $ PATH.

christohersmbp3:angular-phonecat christopherspears$ npm install -bash: npm: command not found christohersmbp3:angular-phonecat christopherspears$ node --version v0.10.26 christohersmbp3:angular-phonecat christopherspears$ npm start -bash: npm: command not found christohersmbp3:angular-phonecat christopherspears$ echo $PATH /usr/local/share/python:/Users/christopherspears/.rbenv/bin:/Users/christopherspears/bin:/usr/local/heroku/bin:/usr/local/share/npm/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin 

En fait, j’ai pu faire fonctionner le noeud assez facilement:

 christohersmbp3:~ christopherspears$ node > console.log('hello node'); hello node undefined > (^C again to quit) > 

Des idées sur la façon dont résoudre ce problème ou devrais-je simplement réinstaller Node.js?

METTRE À JOUR:

J’ai essayé de désinstaller et de réinstaller Node.js mais j’ai rencontré un problème:

 christohersmbp3:angular-phonecat christopherspears$ brew uninstall node Uninstalling /usr/local/Cellar/node/0.10.26... christohersmbp3:angular-phonecat christopherspears$ brew install node ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/node-0.10.26.mavericks.bottle.tar.gz ######################################################################## 100.0% ==> Pouring node-0.10.26.mavericks.bottle.tar.gz ==> Caveats Bash completion has been installed to: /usr/local/etc/bash_completion.d Error: The `brew link` step did not complete successfully The formula built, but is not symlinked into /usr/local You can try again using: brew link node Possible conflicting files are: /usr/local/bin/node /usr/local/include/node/zlib.h /usr/local/include/node/zconf.h /usr/local/include/node/v8stdint.h /usr/local/include/node/v8.h /usr/local/include/node/v8-testing.h /usr/local/include/node/v8-profiler.h /usr/local/include/node/v8-preparser.h /usr/local/include/node/v8-debug.h /usr/local/include/node/uv.h /usr/local/include/node/uv-private/uv-win.h /usr/local/include/node/uv-private/uv-unix.h /usr/local/include/node/uv-private/uv-sunos.h /usr/local/include/node/uv-private/uv-linux.h /usr/local/include/node/uv-private/uv-darwin.h /usr/local/include/node/uv-private/uv-bsd.h /usr/local/include/node/uv-private/tree.h /usr/local/include/node/uv-private/stdint-msvc2008.h /usr/local/include/node/uv-private/ngx-queue.h /usr/local/include/node/openssl/opensslconf.h /usr/local/include/node/node_version.h /usr/local/include/node/node_object_wrap.h /usr/local/include/node/node_internals.h /usr/local/include/node/node_buffer.h /usr/local/include/node/node.h /usr/local/include/node/nameser.h /usr/local/include/node/config.gypi /usr/local/include/node/common.gypi /usr/local/include/node/ares_version.h /usr/local/include/node/ares.h /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d Warning: The post-install step did not complete successfully You can try again using `brew postinstall node` ==> Summary 🍺 /usr/local/Cellar/node/0.10.26: 1523 files, 18M christohersmbp3:angular-phonecat christopherspears$ brew link node Linking /usr/local/Cellar/node/0.10.26... Error: Could not symlink bin/node Target /usr/local/bin/node already exists. You may want to remove it: rm /usr/local/bin/node To force the link and overwrite all conflicting files: brew link --overwrite node To list all files that would be deleted: brew link --overwrite --dry-run node christohersmbp3:angular-phonecat christopherspears$ brew link --overwrite node Linking /usr/local/Cellar/node/0.10.26... 135 symlinks created christohersmbp3:angular-phonecat christopherspears$ brew postinstall node Error: Permission denied - /usr/local/lib/node_modules/npm/AUTHORS 

J’ai jeté un coup d’oeil dans le dossier:

 christohersmbp3:npm christopherspears$ pwd /usr/local/lib/node_modules/npm christohersmbp3:npm christopherspears$ ll total 112 -rw-r--r-- 1 24561 staff 5759 Feb 18 14:59 AUTHORS -rw-rw-r-- 1 24561 staff 380 Feb 18 14:59 CONTRIBUTING.md -rw-r--r-- 1 24561 staff 9862 Feb 18 14:59 LICENSE -rw-r--r-- 1 24561 staff 6178 Jan 28 19:21 Makefile -rw-r--r-- 1 24561 staff 7623 Feb 18 14:59 README.md drwxr-xr-x 7 christopherspears staff 238 Apr 6 15:54 bin/ -rwxr-xr-x 1 24561 staff 48 Jan 28 19:21 cli.js* -rwxr-xr-x 1 24561 staff 521 Jan 28 19:21 configure* drwxr-xr-x 6 christopherspears staff 204 Mar 7 22:32 doc/ drwxr-xr-x 9 christopherspears staff 306 Apr 6 15:54 html/ drwxr-xr-x 55 christopherspears staff 1870 Apr 6 15:54 lib/ -rw-rw-r-- 1 24561 staff 156 Jan 28 19:21 make.bat drwxr-xr-x 6 christopherspears staff 204 Mar 7 22:32 man/ drwxr-xr-x 51 christopherspears staff 1734 Mar 7 22:32 node_modules/ -rw-r--r-- 1 24561 staff 3449 Feb 18 14:59 package.json drwxr-xr-x 8 christopherspears staff 272 Apr 6 15:54 scripts/ drwxr-xr-x 9 24561 staff 306 Apr 6 15:54 test/ 

Devrais-je changer le propriétaire de 24561 en christopherspears?

METTRE À JOUR:

J’ai changé le propriétaire du fichier AUTHORS en christopherspears. Maintenant, je reçois cette erreur:

 christohersmbp3:angular-phonecat christopherspears$ brew postinstall node Error: Permission denied - /usr/local/lib/node_modules/npm/bin/node-gyp-bin/node-gyp 

On dirait le même problème:

 christohersmbp3:node-gyp-bin christopherspears$ ll total 16 -rwxr-xr-x 1 24561 staff 89 Jan 28 19:21 node-gyp* -rwxr-xr-x 1 24561 staff 61 Jan 28 19:21 node-gyp.cmd* 

Est-ce que je vais devoir faire cela pour tous les fichiers appartenant à 24561? J’espère que non.

METTRE À JOUR:

Pouah. Tellement boiteux. On dirait qu’on me demande de changer le propriétaire de 24561 en mon nom d’utilisateur partout. Pourquoi le propriétaire a-t-il été défini sur 24561 en premier lieu?

Après avoir changé le propriétaire de 24561 en mon nom d’utilisateur, j’ai obtenu que npm fonctionne.