【问题标题】:npm cannot find modulenpm 找不到模块
【发布时间】:2016-06-17 03:53:30
【问题描述】:

我一直在使用 Google 和 StackOverflow,查看与类似问题相关的各种线程,但到目前为止没有任何效果。我的问题是 npm 似乎安装不正确......或者什么,我真的不知道:Node 和 npm 是我用来支持我在另一台机器上工作的 Sage Wordpress 主题构建的依赖项。

所以问题是在卸载 Node(为了安全起见)并重新安装之后,Node 似乎工作正常。 node -v 返回 v5.1.0。伟大的。 npm 应该与它一起安装,但是当我运行 npm -v 时,我得到了以下可爱的错误:

    $ npm
    module.js:340
        throw err;
        ^

    Error: Cannot find module 'readable-stream'
        at Function.Module._resolveFilename (module.js:338:15)
        at Function.Module._load (module.js:289:25)
        at Module.require (module.js:366:17)
        at require (module.js:385:17)
        at Object.<anonymous>                 (/Users/Daniel/.nvm/versions/node/v5.1.0/lib/node_modules/npm/node_modules/        npmlog/node_modules/are-we-there-yet/index.js:2:14)
        at Module._compile (module.js:425:26)
        at Object.Module._extensions..js (module.js:432:10)
        at Module.load (module.js:356:32)
        at Function.Module._load (module.js:313:12)
        at Module.require (module.js:366:17)

运行任何 npm 命令(即使只是 npm)都会给我这个错误,所以正如其他解决方案中所建议的,我不能简单地运行 npm install readable-stream。我也经历了各种解决方案(删除 node_modules 文件夹,通过 brew 安装,通过没有 npm 的 brew 安装,以及其他几个),但似乎都没有工作。

任何想法将不胜感激。

【问题讨论】:

  • 在重新安装之前你有没有运行npm cache-clean
  • @adeneo 否定。让我再试一次
  • 你在enter link description here的答案,你应该在发布问题之前研究一下。
  • @DinhNC 根据我的问题,这不起作用。我确实看到了那个帖子,但它并没有解决我的问题。
  • 你有没有运行过“npm install gulp -g”这一行?

标签: node.js macos npm


【解决方案1】:

在 npm 更新失败后,我在这个问题上挣扎了半个小时(在 Mac 上)。我正在使用 Homebrew,我发现我必须执行以下操作:

sudo chown -Rv $USER /usr/local/lib/node_modules/ 用我的用户名

然后我通过 Homebrew 重新安装了节点:

brew uninstall node

brew install node

此时npm 又开始工作了,我成功地继续前进了npm i -g npm

【讨论】:

    【解决方案2】:

    如果您遇到 NPM 问题并且想在 UNIX 上重新安装,我发现这是最简单的解决方案:

    curl -L https://npmjs.org/install.sh | sudo sh

    这将重新安装 NPM 并将其设置为使用最新的 NPM 版本。这几乎总能解决有关 NPM 的任何问题。

    该过程完成后,您应该会收到一条消息说It worked

    【讨论】:

    • 这到底是做什么的?当我运行该行(复制/粘贴到终端)时,我得到以下输出:`% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 193 100 193 0 0 305 0 --: --:-- --:--:-- --:--:-- 305 sh:第 1 行:html:没有这样的文件或目录 sh:第 2 行:意外标记附近的语法错误 &lt;' 'h: line 2: 301 永久移动`
    • 这将转到 NPM 并从他们的站点安装最新版本。确保在调用 curl 时有 -L 标志,这将遵循 301 重定向。
    • 那么,他们的代码中是否有可能存在语法错误?此外,似乎也可能存在 301 问题...
    • 更新了我的答案,为防止出现任何权限问题,请在调用sh之前添加sudo
    • 好吧,我要么是个白痴,要么我运行了这个代码的其他一些变体,但它不起作用。我确实以类似的方式重新安装了 npm 几次,但使用你的 sn-p 为我解决了这个问题。感谢您对我的包容!
    【解决方案3】:

    您可以使用如下命令行运行:

    npm install // you need remove node_modules folder, run npm install
    

    【讨论】:

    • 也许您使用的是 Mac OS?你运行 "rm -rf node_modules" => "rm -rf ~/.npm" => "npm install"
    • 有时,在完全删除 npm 并重新安装节点后,它会再次工作
    • 是的,我在 OSX 上,但删除 node_modules 文件夹并重新安装没有工作。
    猜你喜欢
    • 2014-08-24
    • 2015-12-16
    • 2016-04-29
    • 2014-11-18
    • 2015-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    相关资源
    最近更新 更多