npm ERR! Неожиданный токен <в JSON в позиции 12842

Каждый раз, когда я пытаюсь установить какой-либо пакет или даже если я пытаюсь выполнить 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"
    }
}

Ответы

Ответ 1

попробуйте удалить файл package.lock

Возможная проблема здесь

Ответ 2

Это из package-lock.json конфликта слияния package-lock.json.

Удалите файл, удалите node_modules и запустите npm install чтобы решить проблему:

rm package-lock.json
rm -rf node_modules
npm install

Ответ 3

Попробуйте эту команду "проверка кэша npm", если удаление package.lock не работает

Ответ 4

Для меня удаление package.lock не работает

Попробуйте выполнить следующие действия.

1- установить реестр на https://registry.npmjs.org/. http не работал и должен был изменить его на https

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

2- Я за корпоративным брандмауэром, поэтому мне пришлось настроить прокси и https-прокси соответственно в формате - http://yourproxyurl:port

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

Эти шаги сработали для меня. Надеюсь это поможет.

Ответ 5

Для потомков моя проблема заключалась в том, что мы перешли от использования нексуса к артефакту. Вы можете выяснить это с помощью npm config get registry, который в моем случае распечатал URL нашего старого хранилища nexus. Затем используйте реестр конфигурации npm https://artifactory.your-company.com/artifactory/api/npm/npm/, и это решило мою проблему.

Ответ 6

Я просто удаляю package-lock.json и снова запускаю npm i, он у меня работает 👍🏼

v8.1.4

Ответ 7

Для меня удаление package.lock было недостаточно. Моя IDE всегда говорила об этой ошибке:

Неожиданный токен <

Итак, что я сделал:

  1. Удален файл package.lock
  2. В IDE: npm cache verify
  3. Я пишу в простом интерпретаторе командной строки, а не в IDE:

    npm install @angular/http
    

Ответ 8

Для этого типа ошибки попробуйте следующие шаги:

  • Удалить пакет-lock.json

  • Запустите npm install

Вышеупомянутое решение работало правильно для меня. Надежда будет работать на вас.

Ответ 9

Это из-за package-lock.json. Я просто запускаю rm package-lock.json и он работает для меня.

Ответ 10

Для меня это произошло, потому что я добавил запись в раздел скриптов файла package.json. Проверьте файл pachage.json если вы уже добавили какой-либо элемент в раздел скрипта, и попробуйте удалить или исправить его. Также проверьте, нет ли какой-либо каммы в конце объекта прямо перед } закрыть скобку.