Closed melnikaite closed 7 years ago
I second that.
Current build is broken.
Error: Cannot find module 'golos'
Tested at Win7, nodejs 8.4.0, npm 5.3.0; Debian 8.8, node 6.11.3, npm 3.10.
Build script seems to be not cross-platform.
same
npm install golos-js
1062 error file sh
1063 error code ELIFECYCLE
1064 error errno ENOENT
1065 error syscall spawn
1066 error golos-js@0.5.26 postinstall: `cross-env scripts/post-install.js`
1066 error spawn ENOENT
1067 error Failed at the golos-js@0.5.26 postinstall script.
1067 error This is probably not a problem with npm. There is likely additional logging output above.
1068 verbose exit [ 1, true ]
В debian stretch тоже самое. Эта ошибка, которая обычно бывает, когда скрипт ноду в переменной среды не находит. Хотя она доступна.
Да зачем там нода? npm install steem работает за секунду и можно пользоваться (ноды на сервере нет). В чем там принципиальное различие?
В network id
1067 error Failed at the golos-js@0.5.26 postinstall script.
Этот послеинсталяционный скрипт начинается со строки #!/usr/bin/env node То есть ищется нода в окружении и запускается скрипт в ней. У меня вылетает с ошибкой что нода не найдена, хотя она есть. В сети куча подобных ошибок и рекомендуют симлинки сделать. Сделал, все равно не помогло.
А мне кажется там ошибка именно в наличии \r после node.
Это же код "энтера".
Это код перевода корретки в Windows, код энтера: \n
"Перекодировка" текста не помогла /usr/bin/env: «node\r»: Нет такого файла или каталога
Проверил на Windows 10 https://gist.github.com/b1acksun/f05281de7e4ba1e2997179f73bb6507b
Для фикса предлагаю изменить скрипт и добавить в dependencies postinstall-build
Как это прописать в проектном package.json? При замене скрипта внутри node_modules, он выкачивает из npm и заменяет на старый.
У меня получилось собрать и запустить постинсталляционный скрипт из отдельно склонированного репозитория, но как его добавить в изначальный проект, не пойму. Разве что прямым копированием в node modules новой версии.
Обновил скрипт, либа с фиксом доступна через npm версия 0.5.27
@b1acksun пробую ставить конкретно как отдельный модуль nodejs норм, а в global: ошибка.
root@server0 /var/www/nodejs # git clone https://github.com/GolosChain/golos-js.git
Cloning into 'golos-js'...
remote: Counting objects: 3019, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3019 (delta 0), reused 1 (delta 0), pack-reused 3016
Receiving objects: 100% (3019/3019), 10.96 MiB | 2.26 MiB/s, done.
Resolving deltas: 100% (1684/1684), done.
Checking connectivity... done.
root@server0 /var/www/nodejs # ls
golos-js HiddenEngine
root@server0 /var/www/nodejs # cd golos-js/
root@server0 /var/www/nodejs/golos-js # git checkout v0.5.7
Branch v0.5.7 set up to track remote branch v0.5.7 from origin.
Switched to a new branch 'v0.5.7'
root@server0 /var/www/nodejs/golos-js # git submodule update --init --recursive
root@server0 /var/www/nodejs/golos-js # npm install
npm WARN deprecated babel-preset-es2017@6.24.1: We're really excited that you're trying to use ES2017 syntax, but instead of making more yearly presets, Babel has a better preset that we recommend you use instead: npm install babel-preset-env --save-dev. Give us a follow @babeljs to get more updates
npm WARN lifecycle steem@0.5.7~postinstall: cannot run in wd %s %s (wd=%s) steem@0.5.7 scripts/post-install.js /var/www/nodejs/golos-js
npm WARN prepublish-on-install As of npm@5, `prepublish` scripts are deprecated.
npm WARN prepublish-on-install Use `prepare` for build steps and `prepublishOnly` for upload-only.
npm WARN prepublish-on-install See the deprecation note in `npm help scripts` for more information.
npm WARN lifecycle steem@0.5.7~prepublish: cannot run in wd %s %s (wd=%s) steem@0.5.7 npm run test && npm run build /var/www/nodejs/golos-js
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN The package bluebird is included as both a dev and production dependency.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.2 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
added 571 packages in 7.688s
root@server0 /var/www/nodejs/golos-js # npm install --global
> steem@0.5.7 postinstall /root/.nvm/versions/node/v8.4.0/lib/node_modules/steem
> scripts/post-install.js
/usr/bin/env: ‘node’: Permission denied
npm ERR! code ELIFECYCLE
npm ERR! errno 126
npm ERR! steem@0.5.7 postinstall: `scripts/post-install.js`
npm ERR! Exit status 126
npm ERR!
npm ERR! Failed at the steem@0.5.7 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2017-09-15T04_03_03_593Z-debug.log
Нашел решение, надо было сделать, после чего сборка прошла успешно.
sudo apt-get install nodejs-legacy
Ветка v0.5.7 стимовская, а мне нужен Голос. Создаю новый issue, слишком много проблем разного плана.
Expected behavior
Installing and requiring npm package
golos-js
should work for node.js apps.Actual behavior
How to reproduce
npm i golos-js
Workaround
git clone git@github.com:GolosChain/golos-js.git
cd golos-js
npm i
const golos = require('../golos-js/lib/index.js');