NPM安装包不工作

use*_*755 13 terminal node.js npm bower bower-install

我可以提前获得任何帮助.

我正在尝试使用nodejs和我的mac OSX 10.8终端中的NPM安装grunt,bower和yeoman等软件包.

我检查节点和NPM的版本以确认它们已正确安装并且发现它是真的.但是,当我开始运行命令来安装像bower这样的包时,请使用以下命令:

npm install -g bower
Run Code Online (Sandbox Code Playgroud)

我收到了各种各样的错误.我试图避免使用sudo命令.我尝试使用sudo,但之后我会得到一个响应"命令未找到".我有一种感觉,包可能不在正确的文件夹或目录中,但我不知道下一步该怎么做.

供您参考,这些是我得到的错误:

npm ERR! Error: EACCES, unlink '/Users/myname/.node/lib/node_modules/bower/.editorconfig'
npm ERR!  { [Error: EACCES, unlink '/Users/myname/.node/lib/node_modules/bower/.editorconfig']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/Users/myname/.node/lib/node_modules/bower/.editorconfig' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 12.5.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "bower"
npm ERR! cwd /Users/myname
npm ERR! node -v v0.10.32
npm ERR! npm -v 1.4.28
npm ERR! path /Users/myname/.node/lib/node_modules/bower/.editorconfig
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, unlink '/Users/myname/.node/lib/node_modules/bower/.editorconfig'
npm ERR! error rolling back Error: EACCES, unlink '/Users/myname/.node/lib/node_modules/bower   /.editorconfig'
npm ERR! error rolling back  { [Error: EACCES, unlink '/Users/myname/.node/lib/node_modules/bower/.editorconfig']
npm ERR! error rolling back   errno: 3,
npm ERR! error rolling back   code: 'EACCES',
npm ERR! error rolling back   path: '/Users/myname/.node/lib/node_modules/bower/.editorconfig' }
npm ERR! not ok code 0
Run Code Online (Sandbox Code Playgroud)

为了隐私,我用路径中的代理myname替换了我自己的名字.此外,当我尝试安装grunt和yeoman时,这个问题仍然存在.

经过进一步检查,我注意到我有两个文件夹.一个名为"用户",一个名称为"usr".在'users'中,我看到一个名为node_modules的文件夹.但是,在'usr/local/lib/node_modules/npm/node_modules'中,我注意到没有bower,grunt或yeoman文件.这只是推测,但文件没有正确安装到必要的文件夹中,以便在npm中运行?

任何帮助或输入将非常感谢!

更新 10/10/14

为了人们的参考,我尝试了sudo命令来查看它是否可行,并显示以下内容:

   /Users/myname/.node/bin/bower -> /Users/myname/.node/lib/node_modules/bower/bin/bower
     bower@1.3.12 /Users/myname/.node/lib/node_modules/bower
    ??? is-root@1.0.0
    ??? junk@1.0.0
    ??? stringify-object@1.0.0
    ??? abbrev@1.0.5
    ??? chmodr@0.1.0
    ??? which@1.0.5
    ??? osenv@0.1.0
    ??? opn@1.0.0
    ??? archy@0.0.2
    ??? rimraf@2.2.8
    ??? graceful-fs@3.0.3
    ??? bower-logger@0.2.2
    ??? lru-cache@2.5.0
    ??? bower-endpoint-parser@0.2.2
    ??? lockfile@1.0.0
    ??? nopt@3.0.1
    ??? retry@0.6.0
    ??? tmp@0.0.23
    ??? q@1.0.1
    ??? semver@2.3.2
    ??? p-throttler@0.1.0 (q@0.9.7)
    ??? request-progress@0.3.0 (throttleit@0.0.2)
    ??? bower-json@0.4.0 (intersect@0.0.3, deep-extend@0.2.11, graceful-fs@2.0.3)
    ??? fstream@1.0.2 (inherits@2.0.1)
    ??? shell-quote@1.4.2 (array-filter@0.0.1, array-reduce@0.0.0, array-map@0.0.0, jsonify@0.0.0)
    ??? mkdirp@0.5.0 (minimist@0.0.8)
    ??? promptly@0.2.0 (read@1.0.5)
    ??? fstream-ignore@1.0.1 (inherits@2.0.1, minimatch@1.0.0)
    ??? chalk@0.5.0 (escape-string-regexp@1.0.2, ansi-styles@1.1.0, supports-color@0.2.0, strip- ansi@0.3.0, has-ansi@0.1.0)
    ??? bower-config@0.5.2 (osenv@0.0.3, graceful-fs@2.0.3, optimist@0.6.1)
    ??? glob@4.0.6 (inherits@2.0.1, minimatch@1.0.0, once@1.3.1)
    ??? tar-fs@0.5.2 (pump@0.3.5, tar-stream@0.4.7)
    ??? decompress-zip@0.0.8 (nopt@2.2.1, mkpath@0.1.0, touch@0.0.2, readable-stream@1.1.13, binary@0.3.0)
    ??? request@2.42.0 (caseless@0.6.0, json-stringify-safe@5.0.0, aws-sign2@0.5.0, forever-agent@0.5.2, stringstream@0.0.4, oauth-sign@0.4.0, tunnel-agent@0.4.0, node-uuid@1.4.1, qs@1.2.2, mime-types@1.0.2, bl@0.9.3, form-data@0.1.4, tough-cookie@0.12.1, http-signature@0.10.0, hawk@1.1.1)
    ??? mout@0.9.1
    ??? cardinal@0.4.0 (redeyed@0.4.4)
    ??? bower-registry-client@0.2.1 (graceful-fs@2.0.3, request-replay@0.2.0, lru-cache@2.3.1, async@0.2.10, mkdirp@0.3.5, request@2.27.0)
    ??? update-notifier@0.2.0 (semver-diff@0.1.0, string-length@0.1.2, latest-version@0.2.0, configstore@0.3.1)
    ??? inquirer@0.7.1 (figures@1.3.3, mute-stream@0.0.4, through@2.3.6, readline2@0.1.0, lodash@2.4.1, rx@2.3.12, cli-color@0.3.2)
    ??? handlebars@2.0.0 (optimist@0.3.7, uglify-js@2.3.6)
    ??? insight@0.4.3 (object-assign@1.0.0, async@0.9.0, chalk@0.5.1, os-name@1.0.1, lodash.debounce@2.4.1, tough-cookie@0.12.1, configstore@0.3.1, inquirer@0.6.0)
Run Code Online (Sandbox Code Playgroud)

================================但是,以上不是一个合适的解决方案.当我尝试运行检查以查看是否通过键入bower -v或bower --version或任何其他bower命令来安装bower时,我得到"找不到命令".到底是怎么回事?

更新10/11/14

所以到目前为止我没有尝试过任何能让我运行'npm install -g bower'命令的能力.出于好奇,正如我之前提到的,我已经运行了'sudo npm install -g bower命令',它似乎安装了凉亭.但是,键入任何bower命令仍会产生"未找到命令".在尝试sudo bower命令时,也会导致"命令未找到".我不明白的是,当我运行命令'npm ls'来查看NPM安装的内容时,我有趣地得到了以下已安装软件包的列表.您不需要阅读列表,因为它很长,但请注意第一项似乎是凉亭.如果这是真的,这意味着bower实际上是由npm安装的,那么为什么凉亭命令不起作用呢?

    /Users/myname.
    ??? bower@1.3.12
    ? ??? abbrev@1.0.5
    ? ??? archy@0.0.2
    ? ??? bower-config@0.5.2
    ? ? ??? graceful-fs@2.0.3
    ? ? ??? optimist@0.6.1
    ? ? ? ??? minimist@0.0.10
    ? ? ? ??? wordwrap@0.0.2
    ? ? ??? osenv@0.0.3
    ? ??? bower-endpoint-parser@0.2.2
    ? ??? bower-json@0.4.0
    ? ? ??? deep-extend@0.2.11
    ? ? ??? graceful-fs@2.0.3
    ? ? ??? intersect@0.0.3
    ? ??? bower-logger@0.2.2
    ? ??? bower-registry-client@0.2.1
    ? ? ??? async@0.2.10
    ? ? ??? graceful-fs@2.0.3
    ? ? ??? lru-cache@2.3.1
    ? ? ??? mkdirp@0.3.5
    ? ? ??? request@2.27.0
    ? ? ? ??? aws-sign@0.3.0
    ? ? ? ??? cookie-jar@0.3.0
    ? ? ? ??? forever-agent@0.5.2
    ? ? ? ??? form-data@0.1.4
    ? ? ? ? ??? async@0.9.0
    ? ? ? ? ??? combined-stream@0.0.5
    ? ? ? ?   ??? delayed-stream@0.0.5
    ? ? ? ??? hawk@1.0.0
    ? ? ? ? ??? boom@0.4.2
    ? ? ? ? ??? cryptiles@0.2.2
    ? ? ? ? ??? hoek@0.9.1
    ? ? ? ? ??? sntp@0.2.4
    ? ? ? ??? http-signature@0.10.0
    ? ? ? ? ??? asn1@0.1.11
    ? ? ? ? ??? assert-plus@0.1.2
    ? ? ? ? ??? ctype@0.5.2
    ? ? ? ??? json-stringify-safe@5.0.0
    ? ? ? ??? mime@1.2.11
    ? ? ? ??? node-uuid@1.4.1
    ? ? ? ??? oauth-sign@0.3.0
    ? ? ? ??? qs@0.6.6
    ? ? ? ??? tunnel-agent@0.3.0
    ? ? ??? request-replay@0.2.0
    ? ??? cardinal@0.4.0
    ? ? ??? redeyed@0.4.4
    ? ?   ??? esprima@1.0.4
    ? ??? chalk@0.5.0
    ? ? ??? ansi-styles@1.1.0
    ? ? ??? escape-string-regexp@1.0.2
    ? ? ??? has-ansi@0.1.0
    ? ? ? ??? ansi-regex@0.2.1
    ? ? ??? strip-ansi@0.3.0
    ? ? ? ??? ansi-regex@0.2.1
    ? ? ??? supports-color@0.2.0
    ? ??? chmodr@0.1.0
    ? ??? decompress-zip@0.0.8
    ? ? ??? binary@0.3.0
    ? ? ? ??? buffers@0.1.1
    ? ? ? ??? chainsaw@0.1.0
    ? ? ?   ??? traverse@0.3.9
    ? ? ??? mkpath@0.1.0
    ? ? ??? nopt@2.2.1
    ? ? ??? readable-stream@1.1.13
    ? ? ? ??? core-util-is@1.0.1
    ? ? ? ??? inherits@2.0.1
    ? ? ? ??? isarray@0.0.1
    ? ? ? ??? string_decoder@0.10.31
    ? ? ??? touch@0.0.2
    ? ?   ??? nopt@1.0.10
    ? ??? fstream@1.0.2
    ? ? ??? inherits@2.0.1
    ? ??? fstream-ignore@1.0.1
    ? ? ??? inherits@2.0.1
    ? ? ??? minimatch@1.0.0
    ? ?   ??? sigmund@1.0.0
    ? ??? glob@4.0.6
    ? ? ??? inherits@2.0.1
    ? ? ??? minimatch@1.0.0
    ? ? ? ??? sigmund@1.0.0
    ? ? ??? once@1.3.1
    ? ?   ??? wrappy@1.0.1
    ? ??? graceful-fs@3.0.3
    ? ??? handlebars@2.0.0
    ? ? ??? optimist@0.3.7
    ? ? ? ??? wordwrap@0.0.2
    ? ? ??? uglify-js@2.3.6
    ? ?   ??? async@0.2.10
    ? ?   ??? source-map@0.1.40
    ? ?     ??? amdefine@0.1.0
    ? ??? inquirer@0.7.1
    ? ? ??? cli-color@0.3.2
    ? ? ? ??? d@0.1.1
    ? ? ? ??? es5-ext@0.10.4
    ? ? ? ? ??? es6-iterator@0.1.1
    ? ? ? ? ??? es6-symbol@0.1.1
    ? ? ? ??? memoizee@0.3.8
    ? ? ? ? ??? es6-weak-map@0.1.2
    ? ? ? ? ? ??? es6-iterator@0.1.1
    ? ? ? ? ? ??? es6-symbol@0.1.1
    ? ? ? ? ??? event-emitter@0.3.1
    ? ? ? ? ??? lru-queue@0.1.0
    ? ? ? ? ??? next-tick@0.2.2
    ? ? ? ??? timers-ext@0.1.0
    ? ? ?   ??? next-tick@0.2.2
    ? ? ??? figures@1.3.3
    ? ? ??? lodash@2.4.1
    ? ? ??? mute-stream@0.0.4
    ? ? ??? readline2@0.1.0
    ? ? ? ??? chalk@0.4.0
    ? ? ?   ??? ansi-styles@1.0.0
    ? ? ?   ??? has-color@0.1.7
    ? ? ?   ??? strip-ansi@0.1.1
    ? ? ??? rx@2.3.12
    ? ? ??? through@2.3.6
    ? ??? insight@0.4.3
    ? ? ??? async@0.9.0
    ? ? ??? chalk@0.5.1
    ? ? ? ??? ansi-styles@1.1.0
    ? ? ? ??? escape-string-regexp@1.0.2
    ? ? ? ??? has-ansi@0.1.0
    ? ? ? ? ??? ansi-regex@0.2.1
    ? ? ? ??? strip-ansi@0.3.0
    ? ? ? ? ??? ansi-regex@0.2.1
    ? ? ? ??? supports-color@0.2.0
    ? ? ??? configstore@0.3.1
    ? ? ? ??? js-yaml@3.0.2
    ? ? ? ? ??? argparse@0.1.15
    ? ? ? ? ? ??? underscore@1.4.4
    ? ? ? ? ? ??? underscore.string@2.3.3
    ? ? ? ? ??? esprima@1.0.4
    ? ? ? ??? object-assign@0.3.1
    ? ? ? ??? uuid@1.4.2
    ? ? ??? inquirer@0.6.0
    ? ? ? ??? cli-color@0.3.2
    ? ? ? ? ??? d@0.1.1
    ? ? ? ? ??? es5-ext@0.10.4
    ? ? ? ? ? ??? es6-iterator@0.1.1
    ? ? ? ? ? ??? es6-symbol@0.1.1
    ? ? ? ? ??? memoizee@0.3.8
    ? ? ? ? ? ??? es6-weak-map@0.1.2
    ? ? ? ? ? ? ??? es6-iterator@0.1.1
    ? ? ? ? ? ? ??? es6-symbol@0.1.1
    ? ? ? ? ? ??? event-emitter@0.3.1
    ? ? ? ? ? ??? lru-queue@0.1.0
    ? ? ? ? ? ??? next-tick@0.2.2
    ? ? ? ? ??? timers-ext@0.1.0
    ? ? ? ?   ??? next-tick@0.2.2
    ? ? ? ??? lodash@2.4.1
    ? ? ? ??? mute-stream@0.0.4
    ? ? ? ??? readline2@0.1.0
    ? ? ? ? ??? chalk@0.4.0
    ? ? ? ?   ??? ansi-styles@1.0.0
    ? ? ? ?   ??? has-color@0.1.7
    ? ? ? ?   ??? strip-ansi@0.1.1
    ? ? ? ??? rx@2.3.12
    ? ? ? ??? through@2.3.6
    ? ? ??? lodash.debounce@2.4.1
    ? ? ? ??? lodash.isfunction@2.4.1
    ? ? ? ??? lodash.isobject@2.4.1
    ? ? ? ? ??? lodash._objecttypes@2.4.1
    ? ? ? ??? lodash.now@2.4.1
    ? ? ?   ??? lodash._isnative@2.4.1
    ? ? ??? object-assign@1.0.0
    ? ? ??? os-name@1.0.1
    ? ? ? ??? minimist@1.1.0
    ? ? ? ??? osx-release@1.0.0
    ? ? ??? tough-cookie@0.12.1
    ? ?   ??? punycode@1.3.1
    ? ??? is-root@1.0.0
    ? ??? junk@1.0.0
    ? ??? lockfile@1.0.0
    ? ??? lru-cache@2.5.0
    ? ??? mkdirp@0.5.0
    ? ? ??? minimist@0.0.8
    ? ??? mout@0.9.1
    ? ??? nopt@3.0.1
    ? ??? opn@1.0.0
    ? ??? osenv@0.1.0
    ? ??? p-throttler@0.1.0
    ? ? ??? q@0.9.7
    ? ??? promptly@0.2.0
    ? ? ??? read@1.0.5
    ? ?   ??? mute-stream@0.0.4
    ? ??? q@1.0.1
    ? ??? request@2.42.0
    ? ? ??? aws-sign2@0.5.0
    ? ? ??? bl@0.9.3
    ? ? ? ??? readable-stream@1.0.33-1
    ? ? ?   ??? core-util-is@1.0.1
    ? ? ?   ??? inherits@2.0.1
    ? ? ?   ??? isarray@0.0.1
    ? ? ?   ??? string_decoder@0.10.31
    ? ? ??? caseless@0.6.0
    ? ? ??? forever-agent@0.5.2
    ? ? ??? form-data@0.1.4
    ? ? ? ??? async@0.9.0
    ? ? ? ??? combined-stream@0.0.5
    ? ? ? ? ??? delayed-stream@0.0.5
    ? ? ? ??? mime@1.2.11
    ? ? ??? hawk@1.1.1
    ? ? ? ??? boom@0.4.2
    ? ? ? ??? cryptiles@0.2.2
    ? ? ? ??? hoek@0.9.1
    ? ? ? ??? sntp@0.2.4
    ? ? ??? http-signature@0.10.0
    ? ? ? ??? asn1@0.1.11
    ? ? ? ??? assert-plus@0.1.2
    ? ? ? ??? ctype@0.5.2
    ? ? ??? json-stringify-safe@5.0.0
    ? ? ??? mime-types@1.0.2
    ? ? ??? node-uuid@1.4.1
    ? ? ??? oauth-sign@0.4.0
    ? ? ??? qs@1.2.2
    ? ? ??? stringstream@0.0.4
    ? ? ??? tough-cookie@0.12.1
    ? ? ? ??? punycode@1.3.1
    ? ? ??? tunnel-agent@0.4.0
    ? ??? request-progress@0.3.0
    ? ? ??? throttleit@0.0.2
    ? ??? retry@0.6.0
    ? ??? rimraf@2.2.8
    ? ??? semver@2.3.2
    ? ??? shell-quote@1.4.2
    ? ? ??? array-filter@0.0.1
    ? ? ??? array-map@0.0.0
    ? ? ??? array-reduce@0.0.0
    ? ? ??? jsonify@0.0.0
    ? ??? stringify-object@1.0.0
    ? ??? tar-fs@0.5.2
    ? ? ??? pump@0.3.5
    ? ? ? ??? end-of-stream@1.0.0
    ? ? ? ? ??? once@1.3.1
    ? ? ? ?   ??? wrappy@1.0.1
    ? ? ? ??? once@1.2.0
    ? ? ??? tar-stream@0.4.7
    ? ?   ??? bl@0.9.3
    ? ?   ??? end-of-stream@1.1.0
    ? ?   ? ??? once@1.3.1
    ? ?   ?   ??? wrappy@1.0.1
    ? ?   ??? readable-stream@1.0.33-1
    ? ?   ? ??? core-util-is@1.0.1
    ? ?   ? ??? inherits@2.0.1
    ? ?   ? ??? isarray@0.0.1
    ? ?   ? ??? string_decoder@0.10.31
    ? ?   ??? xtend@4.0.0
    ? ??? tmp@0.0.23
    ? ??? update-notifier@0.2.0
    ? ? ??? configstore@0.3.1
    ? ? ? ??? js-yaml@3.0.2
    ? ? ? ? ??? argparse@0.1.15
    ? ? ? ? ? ??? underscore@1.4.4
    ? ? ? ? ? ??? underscore.string@2.3.3
    ? ? ? ? ??? esprima@1.0.4
    ? ? ? ??? object-assign@0.3.1
    ? ? ? ??? uuid@1.4.2
    ? ? ??? latest-version@0.2.0
    ? ? ? ??? package-json@0.2.0
    ? ? ?   ??? got@0.3.0
    ? ? ?   ? ??? object-assign@0.3.1
    ? ? ?   ??? registry-url@0.1.1
    ? ? ?     ??? npmconf@2.1.1
    ? ? ?       ??? config-chain@1.1.8
    ? ? ?       ? ??? proto-list@1.2.3
    ? ? ?       ??? inherits@2.0.1
    ? ? ?       ??? ini@1.3.0
    ? ? ?       ??? once@1.3.1
    ? ? ?       ? ??? wrappy@1.0.1
    ? ? ?       ??? uid-number@0.0.5
    ? ? ??? semver-diff@0.1.0
    ? ? ??? string-length@0.1.2
    ? ?   ??? strip-ansi@0.2.2
    ? ?     ??? ansi-regex@0.1.0
    ? ??? which@1.0.5
    ??? easyimage@1.0.3
    ? ??? q@1.0.1
    ??? grunt@0.4.5
    ? ??? async@0.1.22
    ? ??? coffee-script@1.3.3
    ? ??? colors@0.6.2
    ? ??? dateformat@1.0.2-1.2.3
    ? ??? eventemitter2@0.4.14
    ? ??? exit@0.1.2
    ? ??? findup-sync@0.1.3
    ? ? ??? glob@3.2.11
    ? ? ? ??? inherits@2.0.1
    ? ? ? ??? minimatch@0.3.0
    ? ? ?   ??? lru-cache@2.5.0
    ? ? ?   ??? sigmund@1.0.0
    ? ? ??? lodash@2.4.1
    ? ??? getobject@0.1.0
    ? ??? glob@3.1.21
    ? ? ??? graceful-fs@1.2.3
    ? ? ??? inherits@1.0.0
    ? ??? grunt-legacy-log@0.1.1
    ? ? ??? lodash@2.4.1
    ? ? ??? underscore.string@2.3.3
    ? ??? grunt-legacy-util@0.2.0
    ? ??? hooker@0.2.3
    ? ??? iconv-lite@0.2.11
    ? ??? js-yaml@2.0.5
    ? ? ??? argparse@0.1.15
    ? ? ? ??? underscore@1.4.4
    ? ? ? ??? underscore.string@2.3.3
    ? ? ??? esprima@1.0.4
    ? ??? lodash@0.9.2
    ? ??? minimatch@0.2.14
    ? ? ??? lru-cache@2.5.0
    ? ? ??? sigmund@1.0.0
    ? ??? nopt@1.0.10
    ? ? ??? abbrev@1.0.5
    ? ??? rimraf@2.2.8
    ? ??? underscore.string@2.2.1
    ? ??? which@1.0.5
    ??? grunt-bower-install@1.6.0
      ??? bower-config@0.5.2
      ? ??? graceful-fs@2.0.3
      ? ??? mout@0.9.1
      ? ??? optimist@0.6.1
      ? ? ??? minimist@0.0.10
      ? ? ??? wordwrap@0.0.2
      ? ??? osenv@0.0.3
      ??? wiredep@1.5.0
        ??? chalk@0.1.1
        ? ??? ansi-styles@0.1.2
        ? ??? has-color@0.1.7
        ??? glob@3.2.11
        ? ??? inherits@2.0.1
        ? ??? minimatch@0.3.0
        ?   ??? lru-cache@2.5.0
        ?   ??? sigmund@1.0.0
        ??? lodash@1.3.1
        ??? through2@0.4.2
          ??? readable-stream@1.0.33-1
          ? ??? core-util-is@1.0.1
          ? ??? inherits@2.0.1
          ? ??? isarray@0.0.1
          ? ??? string_decoder@0.10.31
          ??? xtend@2.1.2
            ??? object-keys@0.4.0
Run Code Online (Sandbox Code Playgroud)

Per*_*son 6

这解决了我的问题:

sudo chown -R `whoami` ~/.node/lib/node_modules/bower/
npm install -g bower
bower -v
1.3.12
Run Code Online (Sandbox Code Playgroud)

您不必将npm install作为sudo运行.


小智 6

这对我有用:

我基本上把我的用户权限授予了之后提到的目录 - > stack Error: EACCES, unlink...,在你的情况下它会是这样的sudo chown -R USERNAME /Users/myname/.

对于不熟悉此问题的人,请不要忘记在上面的命令中更改USERNAME,如果您不知道自己的用户名,只需运行whoami即可获取.

之后,您可以安装任何包,无需使用sudo , npm install -g SomePackage.


Vto*_*one 4

以管理员身份运行全局 (-g) 安装。

> sudo npm install -g bower
Run Code Online (Sandbox Code Playgroud)

你收到这个错误 -

npm ERR! Please try running this command again as root/Administrator.
Run Code Online (Sandbox Code Playgroud)

***** 以下更新 *****

检查是否安装并获取版本

> bower -v
Run Code Online (Sandbox Code Playgroud)

您现在可能看不到 Bower,因为它是以管理员身份安装的。尝试通过运行获取版本号

> sudo bower -v
Run Code Online (Sandbox Code Playgroud)

您现在应该看到版本号。

使用 chown 获取包的所有权

> cd /Users/<username>/.npm
> chown <username> bower*
Run Code Online (Sandbox Code Playgroud)

我个人拥有 /Users/ 目录中所有内容的所有权。这是您的目录,而不是全局目录。

> chown <username> *
Run Code Online (Sandbox Code Playgroud)

***** 下面更新 2 *****

现在看来是 PATH 的问题。当您键入时,您是否在 PATH 中看到 npm 目录

> echo $PATH
Run Code Online (Sandbox Code Playgroud)

我使用 MacPorts,因此 npm 和节点安装在 /opt/local/bin 和 /opt/local/sbin 目录中。我在网上快速检查了一下,如果您从节点站点安装了软件包,则看起来您需要有以下 /usr/local/bin 。

查看这篇关于安装节点的文章(特别是关于 PATH 的部分)。

该链接还引用了有关如何修改 PATH 的文章。

希望有帮助。