错误:找不到模块"npm 注册表客户端"



每当我尝试安装npm注册表客户端时,我都会收到错误"错误:找不到模块'npm-registry-client'"。

我试图用以下命令解决这个问题,但没有成功:

npm uninstall

npm install -g npm@latest

完整输出为:

user@pc ~/devel> npm install npm-registry-client --save
module.js:340
    throw err;
          ^
Error: Cannot find module 'npm-registry-client'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/lib/cache/caching-client.js:9:22)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

到目前为止,我尝试过的每一个npm程序都有上述内容。它出现在更新npm

它似乎是npm@3.4.1.您应该尝试从升级npm@3.3.6直接到npm@next,这将绕过有缺陷的npm版本。如果你目前被一个坏掉的npm卡住了,你可以通过重新安装Node.js.回到一个正常工作的npm

跳过这个问题的最好方法是使用官方的Node安装程序(而不是Homebrew)重新安装Node,并使用打包的npm直接升级到npm@next.

要重新安装Node.js:

rm -rf /usr/local/lib/node_modules

使用Ubuntu

curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
sudo apt-get install -y nodejs

使用Debian作为root用户

curl -sL https://deb.nodesource.com/setup_5.x | bash -
apt-get install -y nodejs

我认为npm注册表客户端是一个单独的包。

你试过npm install npm-registry-client --save吗?

https://www.npmjs.com/package/npm-registry-client

编辑:看起来你的npm完全破产了。

也许这些步骤会有所帮助:

rm -rf ./node_modules
npm install

也有同样的问题。我在用Ubuntu。我所做的步骤:

  1. 已删除文件夹/usr/lib/node_modules
  2. 使用此帮助重新安装nodejs nodejs
  3. 使用sudo npm update -g npm将npm更新为最新稳定

基本上,你必须重新安装nodejs:(没有其他帮助。P.S.以防万一:将需要的包列表保存在某个地方,只列出node_modules文件夹(ls -l /usr/lib/node_modules)并保存输出。因此,您可以稍后重新安装它们。

我在Windows上遇到了同样的问题,发现节点卸载程序将缓存留在了AppData/Roaming中。

这对我有效:

  1. 卸载节点
  2. 手动删除npm和缓存
  3. 从Nodejs官方网站上的msi重新安装

我只使用npm 3.5.0 就解决了这个问题

sudo npm install -g npm@3.5.0

当我试图用npm 3.4.1在archlinux上安装原子编辑器时,我遇到了这个问题

我在使用Protractor工具时也遇到了同样的问题。我所做的是,我试图将npm 3.4.1更新到最新版本(这是最新版本),并用下面的命令做了两次:

npm install -g npm

因此,npm 3.4.1出现了问题,上述错误不断出现。

github上添加了一些问题:https://github.com/npm/npm/issues/10492,https://github.com/npm/npm/issues/10394和https://github.com/npm/npm/issues/2528.

解决方案是通过删除与Nodejs相关的所有文件来重新安装Nodejs。

确保你:

  1. 卸载nodejs后重新启动机器
  2. 删除以下文件(如果尚未完成):

    C:Program Files (x86)Nodejs
    C:Program FilesNodejs
    C:Users{User}AppDataRoamingnpm (or %appdata%npm)
    C:Users{User}AppDataRoamingnpm-cache (or %appdata%npm-cache)
    
  3. 使用节点安装程序进行安装。

参考:https://stackoverflow.com/a/20711410/3619412

我在mac上遇到了同样的问题,我的解决方案是按照以下链接中的步骤卸载我的node.js和npm模块:

  1. 转到/usr/local/lib并删除任何节点和node_modules
  2. 转到/usr/local/include并删除任何节点和node_modules目录
  3. 如果使用brew安装节点安装,则运行brew卸载节点
  4. 检查Home目录中的任何本地或lib或include文件夹,并从中删除任何一个或多个node_modules
  5. 转到/usr/local/bin并删除任何节点可执行文件

我也这样做了:

  1. sudo rm/usr/local/bin/npm
  2. sudo rm/usr/local/share/man/man1/node*
  3. sudo rm/usr/local/lib/dtrace/node.d
  4. sudo rm-rf~/.npm
  5. sudo rm-rf~/.node gyp
  6. sudo rm/opt/local/bin/node
  7. sudo rm/opt/local/include/node
  8. sudo rm-rf/opt/local/lib/node_modules

然后我重新安装了node.js的干净版本

Joyent官方文档已过时

我们需要抛弃tldr的心态,在继续之前获得关于setup_x.x的最新信息。

管道卷曲setup_x.x到bash失败

此外,Joyent官方文档使用curl并管道到bash -E,这对我来说是失败的。因此,我们将使用wget。

Apt获取最新的节点包

在阅读了上面的段落之后,您现在可以遵循以下内容:

sudo apt-get remove node npm nodejs -y
sudo rm -rf /usr/local/lib/node_modules  
sudo wget https://deb.nodesource.com/setup_0.12
sudo -E bash ./setup_0.12
sudo apt-get install nodejs -y
sudo npm -g install npm@latest

nodejs --version现在应该打印最新的,例如

v0.12.9

从源代码编译

如果没有什么帮助,比如在我的情况下,你想回到老学校,从源代码编译

sudo apt-get remove node npm nodejs -y
sudo rm -rf /usr/local/lib/node_modules
mkdir ~/node && cd ~/node
wget http://nodejs.org/dist/v0.12.9/node-v0.12.9.tar.gz
tar -xzvf node-v0.12.9.tar.gz
./configure && make
sudo make install

我也遇到过类似的问题。删除整个node_modules文件夹并重新安装对我来说很有效。希望它能对你有所帮助。

rm -rf node_modules
npm install

这就是我所做的和的工作

npm cache clean --force
npm -g install npm
npm -g install npm-registry-client

最新更新