我的项目一直很好,直到我通过以下方式安装jquery包:
npm install jquery
和:
npm install -D @types/jquery
在此之后我遇到了一些错误,并决定在索引文件中通过脚本标签使用jQuery . 所以试图卸载已安装的软件包:
npm uninstall jquery
npm uninstall @types/jquery
还尝试了 sudo
和/或 --save
和/或 --save-dev
,如:
sudo npm uninstall jquery --save-dev
根据控制台的说法,卸载进度很顺利:
在2.199s中删除了1个包
但是在尝试_1659830时我仍然收到错误:
node_modules/@types/jquery/index.d.ts(47,40):错误TS1005:','预计 . node_modules/@types/jquery/index.d.ts(2370,40):错误TS1005:','预计 . node_modules/@types/jquery/index.d.ts(2372,46):错误TS1005:','预期 . node_modules/@types/jquery/index.d.ts(2483,23):错误TS1005:','预计 . 等等......
然后注意到 nodemodules/@types
仍然包含 jquery
所以我手动删除了它,但随后:
node_modules/@types/angular-animate/index.d.ts(6,1):错误TS2688:找不到'jquery'的类型定义文件 . node_modules/@types/angular/index.d.ts(6,1):错误TS2688:找不到'jquery'的类型定义文件 . node_modules/@types/angular/index.d.ts(86,18):错误TS2304:找不到名称'JQueryStatic' . node_modules/@types/angular/index.d.ts(2004,46):错误TS2304:找不到名称'JQueryStatic' . src / app / search.component.ts(14,19):错误TS2339:类型“{}”上不存在属性“目标” . 错误的ERR!代码ELIFECYCLE npm ERR!错误2 npm ERR! angular-tut@1.0.0 build:tsc -p src / npm ERR!退出状态2
据我所知,在安装jQuery后,我还更改了其他node_modules(@ types / angular)?
UPDATE:
正如@selemmn推荐的那样我试图删除catch:
rm -r node_modules
npm cache clean
此后得到:
npm ERR!从npm @ 5开始,npm缓存会自行修复损坏问题,并保证从缓存中提取的数据有效 . 如果要确保一切都一致,请改用“npm cache verify” . 错误的ERR!错误的ERR!如果您确定要删除整个缓存,请使用--force重新运行此命令 .
所以:
npm cache clean --force
npm install
并得到这个错误:
node-pre-gyp ERR! stack TypeError:无法读取null的属性'version'
从gitHub开始,remvoved package-lock.json再次删除了包和缓存 .
现在尝试 npm start
把我带到了起点:
node_modules/@types/jquery/index.d.ts(47,40):错误TS1005:','预计 . node_modules/@types/jquery/index.d.ts(2370,40):错误TS1005:','预计 . node_modules/@types/jquery/index.d.ts(2372,46):错误TS1005:','预期 . node_modules/@types/jquery/index.d.ts(2483,23):错误TS1005:','预计 . node_modules/@types/jquery/index.d.ts(2484,17):错误TS1005:','预计 . node_modules/@types/jquery/index.d.ts(2485,17):错误TS1005:','预计 . 等等
的package.json:
{
"name": "angular-tut",
"version": "1.0.0",
"private": true,
"description": "Example project from an angular.io guide.",
"scripts": {
"test:once": "karma start karma.conf.js --single-run",
"build": "tsc -p src/",
"serve": "lite-server -c=bs-config.json",
"prestart": "npm run build",
"start": "concurrently \"npm run build:watch\" \"npm run serve\"",
"pretest": "npm run build",
"test": "concurrently \"npm run build:watch\" \"karma start karma.conf.js\"",
"pretest:once": "npm run build",
"build:watch": "tsc -p src/ -w",
"build:upgrade": "tsc",
"serve:upgrade": "http-server",
"build:aot": "ngc -p tsconfig-aot.json && rollup -c rollup-config.js",
"serve:aot": "lite-server -c bs-config.aot.json",
"build:babel": "babel src -d src --extensions \".es6\" --source-maps",
"copy-dist-files": "node ./copy-dist-files.js",
"i18n": "ng-xi18n",
"lint": "tslint ./src/**/*.ts -t verbose"
},
"keywords": [],
"author": "",
"license": "MIT",
"dependencies": {
"@angular/animations": "4.0.3",
"@angular/common": "~4.0.0",
"@angular/compiler": "~4.0.0",
"@angular/compiler-cli": "~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/platform-server": "~4.0.0",
"@angular/router": "~4.0.0",
"@angular/tsc-wrapped": "~4.0.0",
"@angular/upgrade": "~4.0.0",
"@ng-bootstrap/ng-bootstrap": "^1.0.0-alpha.26",
"angular-in-memory-web-api": "~0.3.1",
"core-js": "^2.4.1",
"rxjs": "5.0.1",
"systemjs": "0.19.39",
"zone.js": "^0.8.4"
},
"devDependencies": {
"@types/angular": "^1.6.20",
"@types/angular-animate": "^1.5.7",
"@types/angular-cookies": "^1.4.4",
"@types/angular-mocks": "^1.5.10",
"@types/angular-resource": "^1.5.9",
"@types/angular-route": "^1.3.4",
"@types/angular-sanitize": "^1.3.5",
"@types/jasmine": "2.5.36",
"@types/node": "^6.0.45",
"babel-cli": "^6.16.0",
"babel-preset-angular2": "^0.0.2",
"babel-preset-es2015": "^6.16.0",
"canonical-path": "0.0.2",
"concurrently": "^3.0.0",
"http-server": "^0.9.0",
"jasmine": "~2.4.1",
"jasmine-core": "~2.4.1",
"karma": "^1.3.0",
"karma-chrome-launcher": "^2.0.0",
"karma-cli": "^1.0.1",
"karma-jasmine": "^1.0.2",
"karma-jasmine-html-reporter": "^0.2.2",
"karma-phantomjs-launcher": "^1.0.2",
"lite-server": "^2.2.2",
"lodash": "^4.16.2",
"phantomjs-prebuilt": "^2.1.7",
"protractor": "~4.0.14",
"rollup": "^0.41.6",
"rollup-plugin-commonjs": "^8.0.2",
"rollup-plugin-node-resolve": "2.0.0",
"rollup-plugin-uglify": "^1.0.1",
"source-map-explorer": "^1.3.2",
"tslint": "^3.15.1",
"typescript": "~2.2.0"
},
"repository": {}
}
UPDATE 2:
我不明白 - 我删除所有包 - rm -r node_modules
. 同时删除 paskage-lock.json
和缓存,如果我尝试在整个项目中搜索"jquery",则找不到任何内容,但在运行 npm install
之后, package-lock.json
文件正在创建时:
"@types/jquery": {
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.2.3.tgz",
"integrity": "sha512-3/ETl4JziXnuFIx6W+WB7BzPGRnYH2O/AFKafSOulabMyAhRfv/oboEO2yytsRvzZDiLFODuydYbr7C0kudB9w==",
"dev": true
},
那么这个jQuery来自哪里?
2 回答
我通过在package.json中添加以下内容来修复相同的错误
感谢您的UPDATE2,我可以找到这个@ types / jquery lib
我最终将Typescript版本从2.2.0升级到2.3 .
这是一个巨大的 Headers .
我希望这会对某人有所帮助 .