错误:无法找到模块&nbsp-registry-client'

时间:2015-11-21 23:23:37

标签: node.js npm

每当我尝试安装npm-registry-client时,我都会收到错误" 错误:无法找到模块&nbsp-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后出现

9 个答案:

答案 0 :(得分:4)

我相信npm-registry-client是一个单独的包。

您是否尝试过npm install npm-registry-client --save

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

编辑:你的npm看起来很简单。

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

rm -rf ./node_modules
npm install

答案 1 :(得分:2)

有同样的问题。我正在使用Ubuntu。 我已经完成的步骤:

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

    基本上你必须重新安装nodejs :(没有其他任何帮助。 附:以防万一:保存您需要的软件包列表,只需列出node_modules文件夹(ls -l /usr/lib/node_modules)并保存输出。所以你以后可以重新安装它们。

答案 2 :(得分:2)

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

这对我有用:

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

答案 3 :(得分:1)

我只是使用npm 3.5.0

解决了这个问题
sudo npm install -g npm@3.5.0

当我尝试使用npm 3.4.1从AUR存储库安装archlinux上的atom-editor时遇到了这个问题

答案 4 :(得分:1)

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

npm install -g npm

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

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

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

请确保:

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

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

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

答案 5 :(得分:1)

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

  1. 转到 / usr / local / lib 并删除任何节点和node_modules
  2. 转到 / usr / local / include 并删除任何节点和node_modules目录
  3. 如果您使用 brew安装节点安装,则运行 brew卸载节点 在您的终端
  4. 检查主页目录中的任何本地或lib或包含文件夹, 并从那里删除任何节点或node_modules
  5. 转到 / usr / local / bin 并删除任何可执行节点
  6. 我也这样做了:

    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
    9. 然后我重新安装了一个干净的node.js.在我的例子中是我从here

      下载的版本5.1.0

答案 6 :(得分:0)

官方Joyent文档已过时

我们需要抛弃这个心态,并在继续之前获得lastest information about setup_x.x

管道卷曲setup_x.x到bash失败

此外official Joyent Docs使用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

从源代码编译

如果没有任何帮助,就像在我的情况下,你想去oldschool并从源代码编译:

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

答案 7 :(得分:0)

我有一个非常类似的问题。删除整个node_modules文件夹并重新安装对我有用。希望它会对你有所帮助。

rm -rf node_modules
npm install

答案 8 :(得分:0)

这就是我所做的工作

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