Browserify bundle.js выдает "неожиданный токен" из-за символа
После установки nodejs с нуля на Linux Ubuntu 16.04.1 LTS (протестировано на 2 разных серверах, но с одинаковым результатом...) browserify генерирует неверный bundle.js из-за лишнего странного символа "Â". Это происходит только при использовании модуля Web3. Мой браузер выдает "Неожиданный токен" при его использовании.
...
if (options.value > 0) {
var constructorAbi = abi.filter(function (json) {
return json.type === 'constructor' && json.inputs.length === args.length;
})[0] ||Â {}; // <===============================
if (!constructorAbi.payable) {
throw new Error('Cannot send value to non-payable constructor');
}
}
...
Это пакеты, которые я установил:
sudo apt-get update
sudo apt-get install -y nodejs npm git
npm cache clear --force
npm install -g npm
// A version manager for node.
sudo npm install -g n
sudo n stable
installed : v7.4.0
sudo npm install -g browserify
sudo npm install -g crypto
npm i --save-dev crypto
sudo npm install -g ethereumjs-util
npm i --save-dev ethereumjs-util
sudo npm install -g ethereumjs-tx
npm i --save-dev ethereumjs-tx
sudo npm install -g web3
npm i --save-dev web3
sudo npm install -g buffer
npm i --save-dev buffer
Я также попытался переустановить Web3, но результат тот же:
sudo npm uninstall -g web3
sudo npm install -g web3
npm i --save-dev web3
Я использую следующие модули:
vi main.js
var crypto = require("crypto");
var util = require("ethereumjs-util");
var Tx = require('ethereumjs-tx');
Web3 = require('web3');
Buffer = require("buffer").Buffer;
Я обнаружил, что это модуль Web3, который делает bundle.js включающим странный символ. Удаляя странный символ в bundle.js, все работает нормально.
Попытка выяснить, происходит ли это из-за плохо закодированного NBSP:
$ sed '25494q;d' bundle.js > line.txt
$ od -c line.txt
0000000 } ) [ 0
0000020 ] | | 302 240 { } ; \n
0000032
Любая идея, что является причиной того, что этот персонаж там? Спасибо!