我必须在笔记本电脑上重新安装Mac OS X Mavericks。现在npm不起作用。但是, Node 仍在便携式计算机上,而npm在$ 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
实际上,我能够轻松地运行 Node :
christohersmbp3:~ christopherspears$ node
> console.log('hello node');
hello node
undefined
>
(^C again to quit)
>
关于如何解决此问题的任何想法,还是应该重新安装Node.js?
更新:
我一直在尝试卸载并重新安装Node.js,但是遇到了一个问题:
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
我在文件夹中看了一眼:
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/
我应该将所有者从24561更改为christopherspears吗?
更新:
我确实将AUTHORS文件的所有者更改为christopherspears。现在我收到此错误:
christohersmbp3:angular-phonecat christopherspears$ brew postinstall node
Error: Permission denied - /usr/local/lib/node_modules/npm/bin/node-gyp-bin/node-gyp
看起来像是同样的问题:
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*
我是否必须对24561拥有的所有文件执行此操作?我希望不是。
更新:
啊。真la似乎我被要求将所有人的所有者从24561更改为我的用户名。为什么所有者首先设置为24561?
最佳答案
将所有者从24561更改为我的用户名后,我得到了npm的支持。
关于node.js - 重新安装Mac OS X后npm无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23400073/