環境
Ubuntu20.4 (Windows10のvagrant環境)
node v10.19.0
npm 6.14.4
トラブル
文字コードを判別するライブラリ「jschardet」をnpm installでインストールしようとしていますが、インストールでこけてしまいます。
エラーメッセージから考えられる原因について、アドバイスをお願いします。
$ npm install jschardet --save npm ERR! code EJSONPARSE npm ERR! file /vagrant/node/package.json npm ERR! JSON.parse Failed to parse json npm ERR! JSON.parse Unexpected token � in JSON at position 0 while parsing near '��{ npm ERR! JSON.parse "depe...' npm ERR! JSON.parse Failed to parse package.json data. npm ERR! JSON.parse package.json must be actual JSON, not just JavaScript. npm ERR! A complete log of this run can be found in: npm ERR! /home/vagrant/.npm/_logs/2022-05-02T07_42_43_019Z-debug.log
package.jsonの先頭行から、何か不必要な文字(�)があるために発生したエラーに見えました。
先頭に不必要な文字が記述されていたり、文字化けしたファイルであったりしないでしょうか。
全く見当違いのことを言っていたら申し訳ございません。
その際は無視していただければ幸いです。
package.jsonには特に変な文字は含まれていません。ただし、ファイルの文字コードが、UTF16になっています。UTF8にしておいた方がいいのだろうか?これだけが気になってはいますが。
こちらでも、初期状態のpackage.jsonを生成し、npm ver8.1.2ではありますが、実行致しました。
UTF-8の場合は問題なく実行できましたが、
UTF-16で保存したpackage.jsonを使用するとERRORになりました。
ERROR文は、
『Unexpected token "�" (0xFFFD) in JSON at position 0 while parsing near "��{ 以下略』
と似たものを出力しています。
一度UTF-8に変換して再実行されると問題なく実行されるかもしれません。
UTF-8に変換するとうまくいきました。これが原因だったようです。ありがとうございます。それにしてもなぜ、どのタイミングでUTF16に変換されてしまったかはわかっていません。
参考になりました。ありがとうございます。
動作して良かったです。
問題ないようでしたら、自己解決の形でこの質問を解決済みにしていただければ幸いです。
どういたしまして。
回答2件
あなたの回答
tips
プレビュー