错误的ERR!意外的令牌<在JSON的12842位置

时间:2017-11-02 11:29:55

标签: angular npm

每次我尝试安装任何软件包,或者即使我尝试npm install,我也会遇到此错误。我不知道为什么我会收到错误。我是Angular 4的新手,它只有一周,所以任何任何线索都将受到赞赏。我使用节点-v 8.8.1和@ angular / cli 1.4.9。

这是我的package.json。

{
    "name": "events-across", 
    "version": "0.0.0", 
    "license": "MIT", 
    "scripts": {
        "ng": "ng", 
        "start": "ng serve", 
        "build": "ng build", 
        "test": "ng test", 
        "lint": "ng lint", 
        "e2e": "ng e2e"
    }, 
    "private": true, 
    "dependencies": {
        "@angular/animations": "^4.2.4", 
        "@angular/common": "^4.2.4", 
        "@angular/compiler": "^4.2.4", 
        "@angular/core": "^4.2.4", 
        "@angular/forms": "^4.2.4", 
        "@angular/http": "^4.2.4", 
        "@angular/platform-browser": "^4.2.4", 
        "@angular/platform-browser-dynamic": "^4.2.4", 
        "@angular/router": "^4.2.4", 
        "angular-font-awesome": "^2.3.7", 
        "angular4-carousel": "^3.1.8", 
        "bootstrap": "^4.0.0-beta", 
        "core-js": "^2.4.1", 
        "font-awesome": "^4.7.0", 
        "ng2-opd-popup": "^1.1.21", 
        "rxjs": "^5.4.2", 
        "zone.js": "^0.8.14"
    }, 
    "devDependencies": {
        "@angular/cli": "1.4.9", 
        "@angular/compiler-cli": "^4.2.4", 
        "@angular/language-service": "^4.2.4", 
        "@types/jasmine": "~2.5.53", 
        "@types/jasminewd2": "~2.0.2", 
        "@types/node": "~6.0.60", 
        "codelyzer": "~3.2.0", 
        "jasmine-core": "~2.6.2", 
        "jasmine-spec-reporter": "~4.1.0", 
        "karma": "~1.7.0", 
        "karma-chrome-launcher": "~2.1.1", 
        "karma-cli": "~1.0.1", 
        "karma-coverage-istanbul-reporter": "^1.2.1", 
        "karma-jasmine": "~1.1.0", 
        "karma-jasmine-html-reporter": "^0.2.2", 
        "protractor": "~5.1.2", 
        "ts-node": "~3.2.0", 
        "tslint": "~5.7.0", 
        "typescript": "~2.3.3"
    }
}

13 个答案:

答案 0 :(得分:53)

尝试删除package.lock文件

可能的问题here

答案 1 :(得分:2)

这是因为package-lock.json合并冲突。删除文件和'node_modules'做npm installl将解决问题

答案 2 :(得分:1)

尝试此命令" npm cache verify"如果删除package.lock不起作用

答案 3 :(得分:0)

对我来说,删除package.lock无效

尝试以下步骤

1-将注册表设置为https://registry.npmjs.org/http无效,必须将其更改为https

npm config set registry https://registry.npmjs.org/

2-我身处公司防火墙之后,因此必须按照http://yourproxyurl:port

的格式设置代理和https-proxy
npm config set proxy http://someproxyurl.com:8080
npm config set https-proxy http://someproxyurl.com:8080

3-将ssl设置为false

npm config set strict-ssl false

这些步骤对我有用。希望这会有所帮助。

答案 4 :(得分:0)

对于后代,我的问题是我们从使用联系转为人工联系。您可以通过使用         npm config获取注册表 在我的情况下,它会打印出指向我们旧的关系存储库的URL。然后使用         npm config设置注册表https://artifactory.your-company.com/artifactory/api/npm/npm/ 这样就解决了我的问题。

答案 5 :(得分:0)

我只是删除package-lock.json并再次运行npm i,它对我有用

v8.1.4

答案 6 :(得分:0)

对我来说,删除package.lock是不够的。我的IDE总是说这个错误:

  

意外令牌<< / p>

那我做了什么:

  1. 已删除的package.lock文件
  2. 在IDE中:npm cache verify
  3. 我在普通command-line interpreter中写,而不是在IDE中写

    npm install @angular/http
    

答案 7 :(得分:0)

对于这种类型的错误,请尝试以下步骤:

  • 删除package-lock.json

  • 运行npm install

上述解决方案对我来说是正确的。希望会为您工作。

答案 8 :(得分:0)

这是因为package-lock.json。我只是运行rm package-lock.json,它对我有用。

答案 9 :(得分:0)

对我来说,它发生了,因为我在package.json文件的脚本部分中添加了一个条目。检查您的pachage.json文件是否已将任何项目添加到脚本部分,然后尝试删除或修复它。 另外,请检查}右方括号之前在对象末尾是否没有任何kamma。

答案 10 :(得分:0)

删除package-lock.json对我不起作用。问题是我的package.json文件中有一个多余的逗号。

尝试将json文件复制到jsonlint.com中。如果您遇到的问题确实是语法错误,它将为您提供更多信息。

如果此处没有任何答案,请查看本文https://dev.to/redslug/7-solutions-to-ejsonparse-or-unexpected-token-npm-install-error-20nh。它帮助了我。

答案 11 :(得分:0)

如果以上建议没有解决问题,请检查您的 package.json 文件。确保没有语法错误。

答案 12 :(得分:0)

对我来说

删除 package-lock.json 和 package.json 文件,取消暂存,并放弃更改。在此之后,我从 VSCode 恢复了这些。之后,npm install 运行良好!