错误:找不到(模块路径)有效的出口主体

发布时间:2020-07-07 15:46

我正在重新整理Mac上的文档,却不小心损坏了我正在构建的应用程序。 我注意到package.json与router.js一起被删除了。我添加了两个文件,并在package.json中添加了koa依赖项进行测试。

控制台错误

Error: No valid exports main found for '/Users/devunderdog/Work space/Fantasy_Sports_Manager_Server/node_modules/koa'

at resolveExportsTarget (internal/modules/cjs/loader.js:611:9)
at applyExports (internal/modules/cjs/loader.js:492:14)
at resolveExports (internal/modules/cjs/loader.js:541:12)
at Function.Module._findPath (internal/modules/cjs/loader.js:643:22)
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:941:27)
at Function.Module._load (internal/modules/cjs/loader.js:847:27)
at Module.require (internal/modules/cjs/loader.js:1016:19)
at require (internal/modules/cjs/helpers.js:69:18)
at Object.<anonymous> (/Users/devunderdog/Work space/Fantasy_Sports_Manager_Server/index.js:1:13)
at Module._compile (internal/modules/cjs/loader.js:1121:30) {

  code: 'MODULE_NOT_FOUND'
}

INDEX.JS

const Koa = require('koa');
const app = new Koa();

这就是index.js中“ koa”要求试图获取模块的地方。 Incorrect module path

module "/Users/devunderdog/Library/Caches/typescript/3.9/node_modules/@types/koa/index"

PACKAGE.JSON

   {
      "name": "fantasy_sports_manager_server",
      "version": "1.0.0",
      "description": "A fantasy sports management system designed to help you pick the best players based on their return on investment.",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "Lello De Luca",
      "license": "ISC",
      "dependencies": {
        "koa": "^2.13.0"
      }
    }

已经尝试

  • 删除/ node_modules /和npm install
  • 将NodeJS更新到v14.5.0
  • 从package.json中删除并添加所有必需的依赖项

在此先感谢您的付出。让我知道是否需要更多代码来重现。

Devunderdog

回答1

我设法解决了这个问题。

我相信我可能错误地移动了root / .nvm目录,而卸载和重新安装已解决了该问题。错误消失了。

让我知道是否有人做错了,我们可以尝试重现并解决该问题。

回答2

仅删除node_module /并重新安装不能解决此问题, 升级节点对我有用。

您可以手动执行此过程,如果正在使用 MacOS ,则可以使用Homebrew,也可以在 Windows 上使用 linuxbrew 来执行此过程。

  • 运行以下命令以在 macOS 上升级节点版本:

    $ brew update $ brew upgrade node

  • 升级节点后,运行以下命令以删除并重新安装/ node_modules/。

    $ rm -rf node_modules $ npm ci

npm ci,以干净的方式安装项目。