问题重新安装纱线 - 代码:'MODULE_NOT_FOUND'

Posted

技术标签:

【中文标题】问题重新安装纱线 - 代码:\'MODULE_NOT_FOUND\'【英文标题】:Issue reinstalling yarn - code: 'MODULE_NOT_FOUND'问题重新安装纱线 - 代码:'MODULE_NOT_FOUND' 【发布时间】:2020-08-14 05:42:53 【问题描述】: Node.js 版本:14.0.0 操作系统:MacOS 10.15.4 范围(安装、代码、运行时、元、其他?):Yarn 安装 模块(和版本)(如果相关):internal/modules/cjs/loader.js

运行任何 Yarn 命令时,我收到以下错误。这是在重新安装并遵循以下命令序列之后:


纱线卸载:

纱线缓存清理

    打开终端 rm -rf node_modules yarn.lock yarn-error.log package-lock.json brew 卸载 --force yarn npm 卸载 -g 纱线 纱线-v 哪条纱 rm -rf ~/.yarn(可选,不推荐) rm -rf /usr/local/bin/yarn rm -rf /usr/local/bin/yarnpkg 哪条纱线

NPM 和节点卸载:

    继续添加到终端 brew 卸载 --force 节点 酿造清理 sudo rm -rf /usr/local/lib/node,/.npm,_modules,bin,share/man/npm*,node*,man1/node* sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* /usr/local/lib/dtrace/node.d ~/.npm ~/.node-gyp sudo rm -rf /opt/local/bin/node /opt/local/include/node /opt/local/lib/node_modules sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d 酿造医生 brew cleanup --prune-prefix

安装:

    同一个终端 brew 安装纱线 brew 安装节点 酿造链接节点 sudo chmod 776 /usr/local/lib brew 链接--覆盖节点 sudo chmod 755 /usr/local/lib 酿造链接节点 纱线政策设置版本 n 12.13.1

    11. 纱线 -v && 节点 -v && npm -v

然后在安装的第 9 步运行 yarn 命令时,终端上会出现以下内容:

USER-MacBook-Pro:~ User$ yarn
internal/modules/cjs/loader.js:1017
  throw err;
  ^

Error: Cannot find module '/Users/jlagos/.yarn/releases/yarn-1.21.1.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:1014:15)
    at Function.Module._load (internal/modules/cjs/loader.js:884:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47 
  code: 'MODULE_NOT_FOUND',
  requireStack: [ ]

有关于如何恢复 Yarn 的帮助吗?似乎节点正在跟踪以前的纱线版本。

【问题讨论】:

【参考方案1】:

每当我更新 yarn 时,我都会遇到同样的问题。 可能在(当前看不见的)$PATH 中我还不能删除的东西。

正如@jlagos 指出的那样,您可以通过在该位置复制最新版本来欺骗系统运行最新版本而不是 1.21.1。

如果你还没有安装或者在/.yarn/看到yarn,你可以直接在https://classic.yarnpkg.com/en/docs/install/之后安装或者

curl -o- -L https://yarnpkg.com/install.sh | bash

然后使用以下命令创建并复制文件位置:

mkdir ~/.yarn/releases/
cp ~/.yarn/lib/cli.js ~/.yarn/releases/yarn-1.21.1.js

yarn --version

在运行 yarn 时,它现在应该是最新的(例如在撰写本文时是 1.22.5)。

【讨论】:

轻微修正。该副本应位于刚刚创建的发布文件夹中。现在只是复制到.yarn文件夹 谢谢。在这里,我认为我在写这篇文章时已经完成了这些步骤【参考方案2】:

原来手动创建目录 /releases/ 并从 /.yarn/lib/ 复制 cli.js 文件并将副本重命名为 yarn-1.21.1.js 是解决此问题的方法。将其留在这里以供将来参考。

另外,起初我找不到 /.yarn/ 目录,但直接从 yarn 安装就可以了,使用以下方法:


【讨论】:

以上是关于问题重新安装纱线 - 代码:'MODULE_NOT_FOUND'的主要内容,如果未能解决你的问题,请参考以下文章

纱线安装失败,退出代码为 127

强制在纱线之前运行 npm install ?

安装纱线被拒绝

纱线 2 升级似乎破坏了打字稿类型,同一项目的纱线 1 安装在哪里成功?

我在全球范围内安装了纱线,但出现错误“zsh:找不到命令:纱线”

纱线安装命令时出现 ESOCKETTIMEDOUT 错误