安装 $npm 后,出现错误:找不到模块 '../lib/utils/unsupported.js'

Posted

技术标签:

【中文标题】安装 $npm 后,出现错误:找不到模块 \'../lib/utils/unsupported.js\'【英文标题】:After $npm install, Getting Error: Cannot find module '../lib/utils/unsupported.js'安装 $npm 后,出现错误:找不到模块 '../lib/utils/unsupported.js' 【发布时间】:2018-09-16 00:19:39 【问题描述】:

在 Rails 环境中工作后,我刚回来做一个 React 项目,发现我无法在我的 Mac 终端中运行任何 NPM 命令。我已经尝试了所有我遇到的补救措施,但没有一个有效。更大的问题是造成这种情况的原因以及我该如何避免再次发生这种情况。

这是错误。我需要做什么?请帮忙。

$npm install            

internal/modules/cjs/loader.js:550
    throw err;
    ^

Error: Cannot find module '../lib/utils/unsupported.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:548:15)
    at Function.Module._load (internal/modules/cjs/loader.js:475:25)
    at Module.require (internal/modules/cjs/loader.js:598:17)
    at require (internal/modules/cjs/helpers.js:11:18)
    at /usr/local/lib/node_modules/npm/bin/npm-cli.js:19:21
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:92:3)
    at Module._compile (internal/modules/cjs/loader.js:654:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
    at Module.load (internal/modules/cjs/loader.js:566:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:506:12)

我尝试了以下方法:

$brew update
$brew uninstall node
$brew install node

当 $which npm 之前是未知命令时,会出现以下命令:

$which npm
/usr/local/bin/npm

$which node
/usr/local/bin/node

我什至尝试过跑步:

/usr/local/bin/npm -v

但得到与上面相同的错误

/usr/local/bin/node -v
v9.11.1

工作正常。

将以下内容添加到我的 .zshrc 文件中:

export PATH=/usr/local/bin/node:$PATH
export PATH=/usr/local/bin/npm:$PATH

我也试过了:

$brew uninstall --force node
$brew link --overwrite node 
Warning: Already linked: /usr/local/Cellar/node/9.11.1
To relink: brew unlink node && brew link node

$rm -rf /usr/local/lib/node_modules/npm    

那么,

$node install

但这也不起作用。

$echo $NODE_PATH

确实是空的,所以我可能需要将以下内容添加到我的 .bashrc 中。

export PATH="/usr/local/bin/npm:/usr/local/bin/node:/usr/local/bin:$PATH" 

这也不行。

【问题讨论】:

你的代码中有require('../lib/utils/unsupported.js')吗? 不,我没有提到 unsupported.js。 NPM 命令不适用于任何项目或目录。 看来我可以通过从 nodejs.org 下载和安装 Node 来解决这个问题。是否 $brew 卸载 --ignore-dependencies 节点,然后从 nodejs.org 下载并安装。我不知道为什么 Node 和 NPM 的 brew 安装停止工作。如果有人有任何想法,请告诉我。 相关问题:github.com/nodejs/node/issues/19997 下面写的答案都没有解决我的问题。 【参考方案1】:
    卸载节点brew uninstall --force node 删除/usr/local/lib/node_modules 文件夹 重新安装brew install node

【讨论】:

对我来说也一样,但在重新安装之前,我必须删除“/usr/local/lib/node_modules/”下的模块文件。 也为我工作,但仅在删除 /usr/local/lib/node_modules 此处相同,仅在删除/usr/local/lib/node_modules 文件夹后才有效。 @Lucas Lopes,也许更新您的答案以添加? 我只需要删除 /usr/local/lib/node_modules/npm 而不是整个文件夹 /usr/local/lib/node_modules 首先应该安装 brew 命令:sudo apt install linuxbrew-wrapper 运行 1.uninstall node 命令后,然后使用此命令删除文件夹:sudo rm -r /usr/local/lib/node_modules。最后运行 3 并回车【参考方案2】:

假设这发生在 MacOS 上,以下解决方案适用于我。

    brew 卸载 --force 节点 访问https://nodejs.org/en/并下载LTS版本并安装,错误消失了

【讨论】:

【参考方案3】:

安装yarn后发生在我身上。

在终端中:

brew uninstall --force --ignore-dependencies node
brew install node

如果您在符号链接节点时遇到问题,请在同一终端中:

sudo chown -R `whoami`:admin /usr/local/include
sudo chown -R `whoami`:admin /usr/local/bin
sudo chown -R `whoami`:admin /usr/local/share
sudo chown -R `whoami`:admin /usr/local/lib
brew link --overwrite node

通过在终端中键入以下内容来检查您的重新安装是否有效:

node -v

【讨论】:

【参考方案4】:

我在升级我的 mac 后遇到了问题。我尝试了不同的堆栈溢出解决方案,但对我没有任何作用。

这个解决方案对我有用。

    卸载节点所有版本brew uninstall --force node 通过这个brew install node再次安装

如果可用,首先删除所有节点版本。

完成。享受编码。

【讨论】:

【参考方案5】:

试试这个:https://gist.github.com/DanHerbert/9520689

“如果您是 Homebrew 用户并且您通过 Homebrew 安装了节点,那么 Homebrew 和 NPM 协同工作的方式存在一个重大的哲学问题。”

感谢 Dan Herbert 的解决方案。

【讨论】:

他对 --without-npm 的建议对我不起作用。这是一个无效的选项【参考方案6】:

从以下文件夹中删除所有文件

A)C:\Users\\AppData\Roaming\npm

B)C:\Users\\AppData\Roaming\npm-cache

又是install node

然后执行命令“npm install -g @angular/cli

【讨论】:

【参考方案7】:

其他回答都没有解决我的问题。重新安装 Node 后,我仍然遇到同样的错误(即使我刚刚写了npm -v)。

我关注了this answer here(删除了 everything 称为 node 和 npm),它为我解决了这个问题。

【讨论】:

【参考方案8】:

就我而言,问题的解决方案是使用来自https://nodejs.org (Mac OS) 的官方安装程序重新安装节点。

解决方案:

    从https://nodejs.org下载节点安装程序 安装它

P.S.安装yarn后出现问题。

【讨论】:

【参考方案9】:

尝试这些最终对我有用的另一个建议是通过从这里下载和包安装程序下载最新版本来升级我的节点:

https://nodejs.org/en/download/

在尝试运行任何 npm 命令之前,我遇到了与 OP 的问题相同的错误

在那之后,npm 命令开始为我工作。

【讨论】:

【参考方案10】:

很抱歉,但在我的情况下,我遇到了同样的错误,因为我的 index.js 在 de src 文件夹中,请确保您在 index.js 的 seme 目录中运行

【讨论】:

【参考方案11】:

就我而言,这发生在我对所有 node_modules 文件夹执行机器范围的清理之后。我使用nvm 安装了节点,并且我开始收到此错误,无论我想触发什么与节点相关的操作:

Error: Cannot find module '../lib/utils/unsupported.js'

我通过以下方式解决了这个问题:

    重新启动我的电脑 Uninstalled nvm 安装了不同的节点版本

【讨论】:

【参考方案12】:

brew upgradeon mac 之后我遇到了同样的错误。 我做了brew postinstall node 并修复了它。

【讨论】:

以上是关于安装 $npm 后,出现错误:找不到模块 '../lib/utils/unsupported.js'的主要内容,如果未能解决你的问题,请参考以下文章

出现错误,错误:npm install 后找不到模块“express”

npm 不起作用,总是出现这个错误 -> 错误:找不到模块'are-we-there-yet'

由于以下错误,无法运行任何 npm 命令 - 错误:找不到模块“semver”

找不到模块:错误:无法解析模块“fs”

更新后 NPM 死机 - 找不到模块 (OSX)

通过 npm 安装的引导程序引发有关“错误:找不到模块 'jQuery'”的错误