【问题标题】:Build:Cannot find type definition file for 'node'构建:找不到“节点”的类型定义文件
【发布时间】:2017-09-18 10:57:09
【问题描述】:

VS 2015 社区版(在家),npm 3.10,Angular 2 我试图在 ASP.Net MVC 5 应用程序中获取 Angular2 设置。我开始使用的模板使用的是旧版本的 Angular,所以我更新了包引用。

当我构建时,列表中的第一个错误是:
Build:Cannot find type definition file for 'node'
在那之后还有许多其他错误,但我假设大多数是由于第一个问题造成的。

这里是 package.json 和 typings.json

package.json

{
  "version": "1.0.0",
  "name": "aspnet",
  "private": true,
  "scripts": {
    "postinstall": "typings install",
    "typings": "typings"
  },
  "dependencies": {
    "@angular/common": "~4.0.0",
    "@angular/compiler": "~4.0.0",
    "@angular/core": "~4.0.0",
    "@angular/forms": "~4.0.0",
    "@angular/http": "~4.0.0",
    "@angular/platform-browser": "~4.0.0",
    "@angular/platform-browser-dynamic": "~4.0.0",
    "@angular/router": "~4.0.0",
    "angular-in-memory-web-api": "~0.3.0",
    "systemjs": "0.19.40",
    "core-js": "^2.4.1",
    "rxjs": "5.0.1",
    "zone.js": "^0.8.4",
    "bootstrap": "^3.3.7"
  },
  "devDependencies": {
    "@types/core-js": "^0.9.41",
    "gulp": "^3.9.1",
    "gulp-clean": "^0.3.2",
    "gulp-concat": "^2.6.1",
    "gulp-tsc": "^1.3.1",
    "gulp-typescript": "^3.1.6",
    "path": "^0.12.7",
    "typescript": "~2.1.0",
    "typings": "~2.1.1"
  }
}

typings.json

{
  "globalDependencies": {
    "core-js": "registry:dt/core-js#0.0.0+20160725163759",
    "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
    "node": "registry:dt/node#6.0.0+20160909174046"
  }
}

如果我尝试只更新类型,我会收到这些消息

*typings WARN deprecated 11/21/2016: "registry:dt/node#6.0.0+20160909174046" is deprecated (updated, replaced or removed)
typings WARN deprecated 9/14/2016: "registry:dt/core-js#0.0.0+20160725163759" is deprecated (updated, replaced or removed)
typings WARN deprecated 10/25/2016: "registry:dt/jasmine#2.2.0+20160621224255" is deprecated (updated, replaced or removed)*

[ 更新 ]
清理我的 node_modules 文件夹,然后再次运行 npm install 清理一切。当我将项目文件夹移动到系统上的另一个位置时,这似乎最常发生。

【问题讨论】:

  • 尝试先安装最新的 LTS Node.js 版本,它可能是一个过时的 Node 版本。另外,我认为不推荐使用类型。
  • 你有没有找到任何解决方案?

标签: node.js asp.net-mvc angular


【解决方案1】:

我在通过 Visual Studio 更新软件包时遇到了几个问题。从现在开始,我总是使用 powershell 控制台更新或添加软件包。

启动PowerShell并导航到package.json所在的文件夹,然后运行npm install安装完成后重启visual studio。

您也可以尝试删除您的node_modules 文件夹,然后运行npm install

希望这能解决您的问题。

【讨论】:

  • 我刚遇到这个问题,只是运行 npm install 解决了它
  • 侧节点,对于vs2019仍然如此。我尝试使用包管理器控制台运行 npm install 但这也不起作用,我真的必须打开 cmd 并在那里运行它才能工作。
  • npm install 与 PS 是 wwwayyyyy 慢,只是一个提示。使用简单的命令行或 bash。
【解决方案2】:

对于本地 Visual Studio

如果您从一个干净的模板开始,那么内置的 VS 功能应该可以工作!

转到Dependencies > npm > 右键单击​​ > Restore Packages

然后再次尝试构建。

对于 Visual Studio 团队服务

  • 安装节点https://nodejs.org/en/download/

  • 如果不使用托管代理,请重新启动您的代理服务(VSTS 代理)

  • 添加构建任务以运行 npm install

  • 单击“工作文件夹”旁边的菜单图标以选择 project.json 文件所在的位置。

【讨论】:

    【解决方案3】:

    就我而言,我解决了我的问题。希望以后能有所帮助。

    npm install @types/node --save-dev
    

    【讨论】:

    • 应该是--save-dev。微软的node项目模板怎么不见了?他们不测试他们的东西吗?
    • 这个答案立即为我解决了问题,包括嵌套项目
    • 为 @types/jasmine 和 @types/jasminedw2 添加相同的内容也可以解决这些包的类似错误。 (在 Visual Studio 2019 中使用没有 NuGet 的 TypeScript 2.0!)
    • @Mikser 为什么应该是--save-dev?这个库不只包含编译时结构吗?我的意思是可能没有区别
    • @xotonic,这实际上取决于您的项目的构建和运行方式。人们可能需要一个优化的生产版本,而不需要占用额外空间的 devDependencies 模块。
    【解决方案4】:

    问题也可能与其他问题有关

    尝试我在Cannot find type definition file for 'node' 此处发布的解决方案的步骤之一

    【讨论】:

      【解决方案5】:

      有时只是因为缺少某些软件包。您可以尝试运行yarn installnpm install 应该可以解决。

      【讨论】:

        【解决方案6】:

        在 vscode 中解决这个问题的最简单方法是。

        创建一个 .vscode 目录,然后在其中创建 settings.json 并放入下面的 json 就可以了。

        {
        "search.exclude": {
          "**/node_modules": true
        },
        "files.watcherExclude": {
          "**/.git/objects/**": true,
          "**/.git/subtree-cache/**": true,
          "**/node_modules/**": true,
          "env-*": true
        },
        "files.exclude": {
          "**/.git": true,
          "**/.DS_Store": true,
          "**/node_modules": true,
          "env*": true
        }
        }
        

        【讨论】:

        • 他使用的是 Visual Studio,而不是 VS Code。
        【解决方案7】:

        重新启动或重新加载我的 VSCode 工作

        【讨论】:

        • 这似乎是一个远大的目标,但它确实奏效了!
        • 他使用的是 Visual Studio,而不是 VS Code。
        【解决方案8】:

        我在使用 RN 时遇到了这个问题,并且我对我的包进行了不正确的依赖。

            "@types/": "react-navigation/native",
        

        react-navigation/native 不存在

        json

        当我尝试用它运行 tsc 时,我得到了这个

        【讨论】:

          猜你喜欢
          • 2017-06-09
          • 2021-02-06
          • 1970-01-01
          • 2019-10-10
          • 2018-06-09
          • 2021-10-27
          • 2018-06-05
          • 2018-07-20
          • 2021-08-15
          相关资源
          最近更新 更多