Npmでexpressをインストールしようとすると、常に次のエラーが表示されます。
Failed to parse json
No data, empty input at 1:1
File: /root/.npm/inherits/2.0.1/package/package.json
Failed to parse package.json data.
package.json must be actual JSON, not just JavaScript.
This is not a bug in npm.
Tell the package author to fix their package.json file. JSON.parse
私は何を間違えていますか?
Sudo npm install -g express
OSはUbuntu 12.04(正確)armhfです
私は同じ問題を抱えていましたが、「npm cache clean」はそれを解決しませんでした。私はpackage.jsonに戻り、以下に示すように、カンマがあるはずだと気付かなければなりませんでした。
},
"devDependencies": {
"axios": "^0.15.3",
"bootstrap-sass": "^3.3.7",
"cross-env": "^3.2.4",
"jquery": "^3.1.1",
"laravel-mix": "0.*",
"lodash": "^4.17.4",
"vue": "^2.1.10",
}
「vue ...」の後に削除したので、すべてが正常に戻りました。 実行する前に最初にpackage.jsonファイルをチェックする価値がありますnpm cache clean
Laravelプロジェクト:
ほとんどの場合、このエラーはpackage.jsonファイルの構文エラーが原因です。私の場合、package.jsonの依存関係オブジェクトの開き中括弧がありませんでした。
コード - - - - - - - - - - - - - - - -
{
"name": "psrxjs",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies":
"rxjs": "^5.4.3"
}
}
npm install
の実行中にも同じエラーメッセージが表示されます。最初にnpm package.json
を実行してpackage.jsonファイルのエラーを確認し、そうでない場合はnpm cache clean
を実行します
Pank'sanswer に加えて、この種のエラーが発生した場合
npm ERR! code EJSONPARSE
npm ERR! JSON.parse Failed to parse json
npm ERR! JSON.parse Unexpected token } in JSON at position 550 while parsing near '...eact": "^7.12.4",
npm ERR! JSON.parse },
npm ERR! JSON.parse "dependencies":...'
npm ERR! JSON.parse Failed to parse package.json data.
npm ERR! JSON.parse package.json must be actual JSON, not just JavaScript.
package.json
がJavaScriptではなく有効なjsonであることを確認する必要があります。
Package.jsonファイル内の未使用の空白を確認してください。余分な空白が原因である可能性があります。
私の場合、Missing a comma somewhere in a package.json
package.jsonファイルを確認してください。その後Sudo npm install
または
キャッシュメモリをクリーニングします。 Sudo npm cache clean
次のbashスクリプトは、問題を自動的に修正します
#!/usr/bin/env bash
echo -e '#!/usr/bin/env bash' > npm_install.sh
cat npm-debug.log | grep 'error File:' | sed -n 's:.*error File\: \(.*\):echo "Removing \1"\nrm -f \1\necho "Cleaning npm cache"\nnpm cache clean\necho "Reinstalling npm"\nnpm install\n./npm_reinstall.sh:p' >> npm_install.sh
chmod +x npm_install.sh
./npm_install.sh
Npm_reinstall.shに保存し、次を使用して実行権限を付与する必要があります。
chmod +x npm_reinstall.sh
スクリプトは次のタスクを実行しています。
Npmインストールの詳細については、 npm-installコマンドドキュメント を参照してください。
今日、Windows 10でNodeを更新した後、同様の問題が発生しました。ローカルビルドタスクが失敗し始め、調査の結果、依存関係package.jsonファイルでこれらのエラーがすべて見つかりました。それらはいずれも有効なJSONではなくなり、次のようなメッセージが表示されました。
npm WARN Failed to parse json
npm WARN Unexpected token '\u0019' at 1:1
npm WARN ������2�����bE�;���1L �\5�e���k2?��,?;��쏏a��(T��w��+I��/�6�P} ��i�|e�
npm WARN ^
私のコンソールで。
新しいNodeが古いNPMでニースを再生せず、NPMをバージョン5に更新すると問題が解決したことが判明したため、この話はハッピーエンドです。これが、この問題でこの変動を経験する他の人々を助けることを願っています。
NPMの使用に慣れる前に、この問題に何度か直面しました。ほとんどの時間は、npmインストールの前にnpm initを使用できなかったためです