Common errors

Errors

Broken npm installation

如果您的npm损坏了:

Random errors

No compatible version found

您的npm已过时. 请更新到最新的稳定npm .

Permissions errors

请参阅" 下载和安装Node.js和npm "以及" 在全局安装软件包时解决EACCES权限错误 "中的讨论,以了解避免和解决权限错误的方法.

Error: ENOENT, stat 'C:\Users\<user>\AppData\Roaming\npm' on Windows 7

Windows 7上的错误Error: ENOENT, stat 'C:\Users\<user>\AppData\Roaming\npm'joyent / node#8141的结果 ,并且是Windows节点安装程序的问题. 解决方法是确保C:\Users\<user>\AppData\Roaming\npm存在并且可以用您的普通用户帐户写入.

No space

npm ERR! Error: ENOSPC, write

您试图将其安装在没有空间或没有写权限的驱动器上.

No git

npm ERR! not found: git
ENOGIT

您需要安装git . 或者,您可能需要将git信息添加到npm配置文件中. 您可以从命令行或网站上执行此操作. 有关更多信息,请参阅" 管理个人资料设置 ".

Running a Vagrant box on Windows fails due to path length issues

@drmyersii经历了许多痛苦的尝试和错误,提出了一个有效的解决方案,其中涉及Windows长路径和一些自定义的Vagrant配置:

这是我在中实现的提交 ,但是我将继续在此处发布代码的主要片段:

config.vm.provider "virtualbox" do |v|
    v.customize ["sharedfolder", "add", :id, "--name", "www", "--hostpath", (("//?/" + File.dirname(__FILE__) + "/www").gsub("/","\\"))]
end

config.vm.provision :shell, inline: "mkdir /home/vagrant/www"
config.vm.provision :shell, inline: "mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` > www /home/vagrant/www", run: "always"

在上面的代码中,我将\\?\附加到当前目录的绝对路径. 实际上,这将强制Windows API允许增加MAX_PATH变量(通常上限为260). 了解有关最大路径的更多信息. 这是在共享文件夹创建过程中发生的,这是由VBoxManage故意处理的,而不是由Vagrant的" synced_folder"方法处理的. 最后一点是不言而喻的; 我们创建了新的共享文件夹,然后确保每次访问或触摸计算机时都已安装该共享文件夹,因为Vagrant希望在每次加载时重新加载其安装/共享文件夹.

npm only uses git: and ssh+git: URLs for GitHub repos, breaking proxies

@LaurentGoderre一些Git 技巧解决了这个问题:

我通过运行以下两个命令为几个同事解决了此问题:

git config --global url."https://github.com/".insteadOf [email protected]:
git config --global url."https://".insteadOf git://

我们注意到的一件事是,使用的.gitconfig并不总是预期的,因此,如果您使用的计算机修改了共享驱动器的主路径,则需要确保您的.gitconfig在共享驱动器和在c:\users\[your user]\

SSL Error

npm ERR! Error: 7684:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:openssl\ssl\s23_clnt.c:787:

您正在尝试将SSL与未加密的端点通信. 通常,这是由于代理 配置 错误引起的 (另请参阅此帮助,如果已过时,则为guide ). 在这种情况下,你希望禁用strict-ssl -你可能需要设置为您的代理使用CA / CA文件,但更好的做法是花时间去弄清楚比禁用SSL保护.

npm ERR! Error: SSL Error: CERT_UNTRUSTED
npm ERR! Error: SSL Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE

如果您正在运行Node 0.6,则会发生此问题. 请升级到节点0.8或更高版本. 有关详细信息,请参见此帖子 .

您也可以尝试以下解决方法: npm config set ca ""npm config set strict-ssl false

npm ERR! Error: SSL Error: SELF_SIGNED_CERT_IN_CHAIN

npm no longer supports its self-signed certificates

Either:

如果这不能解决问题,则您可能具有SSL拦截代理. (例如,https://github.com/npm/npm/issues/7439#issuecomment-76024878)

SSL-intercepting proxy

未解决. 参见https://github.com/npm/npm/issues/9282

Not found / Server error

npm http 404 https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.0.tgz
npm ERR! fetch failed https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.0.tgz
npm ERR! Error: 404 Not Found
npm http 500 https://registry.npmjs.org/phonegap

Invalid JSON

Error: Invalid JSON
npm ERR! SyntaxError: Unexpected token <
npm ERR! registry error parsing json

Many ENOENT / ENOTEMPTY errors in output

npm被编写为在安装时有效地使用资源,部分原因是它试图同时实际完成尽可能多的事情. 有时,这会导致竞争状况和其他同步问题. 从npm 2.0.0开始,解决了很多此类问题. 如果在日志输出中看到ENOENT lstatENOENT chmodENOTEMPTY unlink或类似内容,请尝试将npm更新为最新版本. 如果问题仍然存在,请查看npm / npm#6043 ,看看是否有人已经讨论过您的问题.

cb() never called! when using shrinkwrapped dependencies

看看问题#5920 . 我们正在努力解决这个问题,但这是一个相当微妙的比赛条件,需要我们花费一些时间. 您可以尝试将npm-shrinkwrap.json文件npm-shrinkwrap.json ,直到我们解决此问题为止. npm的版本比[email protected]更高,已修复此问题,因此请更新为[email protected] .

npm login errors

有时npm login由于没有明显的原因而失败. 首先要做的是登录https://www.npmjs.com/login并检查您在npmjs.com的电子邮件地址是否与您为npm login提供的电子邮件地址匹配.

如果那不是问题,或者如果您看到消息"may not mix password_sha and pbkdf2" ,则

  1. 登录https://npmjs.com/
  2. 在https://npmjs.com/password上更改密码–您甚至可以将其"更改"为相同的密码
  3. Clear login-related fields from ~/.npmrc – e.g., by running sed -ie '/registry.npmjs.org/d' ~/.npmrc
  4. npm login

而且它似乎正常工作.

有关此问题的历史记录,请参见https://github.com/npm/npm/issues/6641#issuecomment-72984009 .

npm hangs on Windows at addRemoteTarball

检查您的.npmrc设置了两个临时目录:

> npm config ls -l

查找定义tmp config变量的行. 如果发现多个,请删除其中一个.

有关此异常问题的更多信息,请参阅https://github.com/npm/npm/issues/7590 .

npm not running the latest version on a Windows machine

请参阅有关Windows的部分在这里 .


< Generating and locating npm-debug.log files | Try the latest stable version of node >