我正在构建我的第一个Angular应用程序。我正在使用此命令ng new purchase-section
创建一个新的Angular应用程序。但是当我使用ng serve -o
执行应用程序时,出现以下错误。
node_modules / rxjs / internal / types.d.ts(81,44)中的错误:错误TS1005: ';'预期。 node_modules / rxjs / internal / types.d.ts(81,74):错误 TS1005:“;”预期。 node_modules / rxjs / internal / types.d.ts(81,77): 错误TS1109:需要表达。
我检查了types.d.ts
,因为我知道它是由Angular创建的。
我无法理解该错误。请注意,收到此错误后,我删除了node_modules
,并使用npm install
进行安装,希望我仍然可以得到此错误。
这是我的package.JSON
文件:
{
"name": "purchase-section",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "^6.0.3",
"@angular/common": "^6.0.3",
"@angular/compiler": "^6.0.3",
"@angular/core": "^6.0.3",
"@angular/forms": "^6.0.3",
"@angular/http": "^6.0.3",
"@angular/platform-browser": "^6.0.3",
"@angular/platform-browser-dynamic": "^6.0.3",
"@angular/router": "^6.0.3",
"core-js": "^2.5.4",
"rxjs": "^6.0.0",
"zone.js": "^0.8.26"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.6.8",
"@angular/cli": "~6.0.8",
"@angular/compiler-cli": "^6.0.3",
"@angular/language-service": "^6.0.3",
"@types/jasmine": "~2.8.6",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "~4.2.1",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "^4.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.0",
"karma-jasmine": "~1.1.1",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "^5.4.2",
"ts-node": "~5.0.1",
"tslint": "~5.9.1",
"typescript": "~2.7.2"
}
}
答案 0 :(得分:61)
我有同样的问题。我调查了rxjs发布了一个新版本:6.4.0
。它破坏了构建。根据{{3}},TypeScript的最低支持版本为2.8
。如果您不想更新TypeScript版本,只需在"rxjs": "^6.0.0", to "rxjs": "6.3.3"
中更改package.json
。
答案 1 :(得分:25)
只需从^
文件中的"rxjs": "^6.0.0"
中删除package.json
字符并将其设置为"rxjs": "6.0.0"
。应该可以。
答案 2 :(得分:24)
在开发angular6项目时,我面临着同样的问题。我花了更多时间终于为我工作了。
这是解决方案:
答案 3 :(得分:14)
今天我遇到了同样的问题。除一个@Nasreen Ustad的评论外,以上答案均无效。因此,您需要做的是:
"rxjs": "^6.0.0"
修改为"rxjs": "6.0.0"
npm update
无需更改打字稿版本。(我的电话:"typescript": "~2.7.2"
)
答案 4 :(得分:3)
在您的Package.json
文件中,从^
删除"rxjs": "^6.0.0"
符号(插入符号),然后添加"rxjs": "6.0.0"
,它将正常工作。
答案 5 :(得分:2)
第1步:转到package.json
并将"rxjs": "^6.0.0"
修改为"rxjs": "6.0.0"
第2步在项目中运行npm update
。
答案 6 :(得分:2)
只需将TypeScript依赖项版本更改为^2.8
答案 7 :(得分:1)
似乎您的Angular和/或rxjs版本与TypeScript不兼容。
删除TypeScript版本中的~
,然后添加^
。然后,再次安装软件包。
尝试在npm start
之前运行ng build
和ng serve
。
答案 8 :(得分:1)
转到项目目录运行:npm install rxjs@6.0.0 --save
答案 9 :(得分:1)
使用以下命令检查您的打字稿版本。
~ tsc --version
Version 3.3.3
因为这是最新的打字稿版本,所以我通过在项目主文件夹中运行以下命令,将项目角度版本升级到7。它解决了这个问题。
〜]#ng update @angular/cli @angular/core
答案 10 :(得分:1)
更新在的package.json rxjs“: ”6.3.3“
终端中的1.运行npm更新 2.运行纳克服务
应该可以成功编译
答案 11 :(得分:1)
您的package.json包含以下几行:
"rxjs": "^6.0.0",
"typescript": "~2.7.2"
这告诉npm安装以下版本
rxjs:版本6系列的最新版本为6.4.0
typescript:次要版本2.7中的最新修补程序版本为2.7.2
现在,RxJS模块还安装TypeScript的类型定义文件。项目中已安装的rxjs模块中包含的类型定义文件与同一项目中所安装的打字稿版本不兼容。
因此,作为package.json文件中的解决方案,您可以将Typescript的版本提高为2.8,
typescript: ^2.8.0
或将ngrx的版本降低到类似
ngrx: ~6.0.0
和
重新安装npm。
您可以通过查看以下文件来检查已安装模块的版本号:
node_modules/rxjs/package.json and
node_modules/typescript/package.json
答案 12 :(得分:0)
我更改了rxjs和打字稿的版本。我的package.json具有以下条目 “ typescript”:“ ^ 2.7.2” “ rxjs”:“ ^ 6.3.3”,
我还必须升级角CLI。
答案 13 :(得分:0)
我必须卸载并重新安装角度CLI。
npm卸载-g @ angular / cli angular-cli
npm缓存清理
npm install -g @ angular / cli @ latest
npm install -g @ angular / cli @ latest
答案 14 :(得分:0)
遇到此错误: rxjs /商店:^ 6.4.0 打字稿:〜2.7.2 角/ cli〜6.0.0
除了rxjs以外的所有内容都更新到最新 rxjs /商店:^ 6.3.3 打字稿:〜3.1.1 角/ cli〜7.0.3
基本上,我创建了一个空白新项目(ng new newProject)并安装了@ ngrx / store,它关闭了v6.3.3。这对我有用。
答案 15 :(得分:0)
您可以使用以下方法将 switch(e.which)
{
case 13:
$('#search').val("");
var url = $('#data tr.highlight>td').eq(2).text(); // Extract the "url" value from the third cell (index #2) of current raw (this is actually an email..)
$('#data tr').removeClass('highlight'); // Remove hightlight
window.open(url, '_blank'); // Navigate to "url"
版本更新到最新版本:
npm
答案 16 :(得分:0)
我已经尝试了所有其他答案。但是我发现了问题。我安装了ts lint插件,该插件强制文件结束而没有空间。我将其删除,并且可以正常工作。
您还可以删除该特定文件的空格。
答案 17 :(得分:0)
这两个更改您想要的内容:
{
"compileOnSave": false,
"compilerOptions": {
"outDir": "./dist/out-tsc",
"baseUrl": "./",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": ["node_modules/@types"],
"lib": ["es2018", "dom"],
"plugins": [
{
"name": "tslint-language-service",
"configFile": "./tslint.json"
}
],
"paths": {
"foo": ["projects/foo/src/public_api.ts"],
"bar": ["projects/bar/src/public_api.ts"],
"baz": ["dist/baz"]
}
}
}
// in package.json:
==> "rxjs": "^6.2.2"
"rxjs": "latest"
==> "typescript": "2.7.2"
其中"typescript": "2.8"
表示要替换
答案 18 :(得分:0)
我有同样的错误 npm安装typescript@2.8.0
为我工作
答案 19 :(得分:0)
进入项目目录运行:
<a href="/about" use:$url>about</a>
答案 20 :(得分:0)
以下步骤解决了我的问题
有两个文件需要修改。
//export * from "./utils";
//_export(require("./utils"));
如上注释实用程序。现在 npm start