运行npm命令时出错

时间:2014-06-11 13:25:41

标签: node.js npm

我已经安装了node.js. 但是在命令提示符中没有识别出npm命令。 我也设置了环境变量。请帮助我。

这是命令提示符中的响应:

C:\Users\593180.INDIA>npm
URIError: URI malformed
at decodeURIComponent (native)
at Url.parse (url.js:179:19)
at Object.urlParse [as parse] (url.js:101:5)
at Object.validateUrl [as validate] (C:\Program Files (x86)\nodejs\node_modu
les\npm\node_modules\nopt\lib\nopt.js:157:13)
at validate (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\nop
t\lib\nopt.js:205:24)
at validate (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\nop
t\lib\nopt.js:172:11)
at C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\nopt\lib\nopt
.js:101:12
at Array.map (native)
at C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\nopt\lib\nopt
.js:67:15
at Array.forEach (native)
C:\Program Files (x86)\nodejs\node_modules\npm\lib\npm.js:37
throw new Error('npm.load() required')
      ^
Error: npm.load() required
at Object.npm.config.get (C:\Program Files (x86)\nodejs\node_modules\npm\lib
\npm.js:37:11)
at exit (C:\Program Files (x86)\nodejs\node_modules\npm\lib\utils\error-hand
ler.js:49:27)
at process.errorHandler (C:\Program Files (x86)\nodejs\node_modules\npm\lib\
utils\error-handler.js:314:3)
at process.EventEmitter.emit (events.js:95:17)
at process._fatalException (node.js:272:26)

3 个答案:

答案 0 :(得分:4)

您可能通过配置代理或其他网址来破坏npm

进入您的用户文件夹

C:\ Users \用户名

编辑文件" .npmrc"

并修复您的代理网址或其他已损坏的网址 proxy = http://login:password@proxyaddress:port

答案 1 :(得分:0)

这对我有用。我收到了相同的URI格式错误的异常。

我原来的URI格式如下(我根据Jens问题中的一个流行答案以这种方式构造了URI):

http://{domain}%5{username}:{password}/{baseURI}:{port}
i.e. http://COUNTRY%5bobjohnson:pass123/test.websitename.com:8080

对我来说,修复该问题的原因是删除了它的域部分和%5部分。

因此.npmrc文件开始工作时如下所示:

proxy=http://bobjohnson:pass123/test.websitename.com:8080
https-proxy=http://bobjohnson:pass123/test.websitename.com:8080

答案 2 :(得分:0)

可能是以下情况之一。我的是第二种情况。 检查您的代理:npm config获取代理

  1. 如果用户名或密码中包含特殊字符,请使用百分比编码[https://r12a.github.io/app-conversion/][1]
  2. 替换这些字符。

说您的密码是password#123-使用上面的链接(密码%23123)获取编码版本。

  1. 如果您一次设置了代理而不进行百分比编码,则很有可能将其保存在/ Users / username的“ .npmrc”中,并且当您使用正确的编码密码再次运行set config时不会被更新。在这种情况下,您可以直接编辑“ .npmrc”。