lesnitsky / git-tutor

:octocat:+md=:heart: Awesome tutorials from your git log
Other
384 stars 7 forks source link

Install fails with missing script #1

Open emcniece opened 6 years ago

emcniece commented 6 years ago

Saw the project on Reddit this morning, wanted to give it a shot but there's an error during install:

configure: WARNING: 'missing' script is too old or missing
configure: error: No crypto library found!

My env is likely in need of updating, but I thought I'd post here anyway in case a project dep needs to be adjusted.

Thanks for creating this project!

System:

   Android SDK Tools : 25.2.5
   ios-deploy        : 1.9.2
   NodeJS            : v9.5.0 (/Users/emcniece/.nvm/versions/node/v9.5.0/bin/node)
   npm               : 5.7.1
   OS                : macOS High Sierra
   Xcode             : Xcode 9.4.1 Build version 9F2000
Full dump

``` npm i -g git-tutor /Users/emcniece/.nvm/versions/node/v9.5.0/bin/git-tutor -> /Users/emcniece/.nvm/versions/node/v9.5.0/lib/node_modules/git-tutor/cli.js > nodegit@0.20.3 install /Users/emcniece/.nvm/versions/node/v9.5.0/lib/node_modules/git-tutor/node_modules/nodegit > node lifecycleScripts/preinstall && node lifecycleScripts/install [nodegit] Running pre-install script [nodegit] Configuring libssh2. { Error: Command failed: /Users/emcniece/.nvm/versions/node/v9.5.0/lib/node_modules/git-tutor/node_modules/nodegit/vendor/libssh2/configure --with-libssl-prefix=/Users/emcniece/.nvm/versions/node/v9.5.0/lib/node_modules/git-tutor/node_modules/nodegit/vendor/openssl/openssl /Users/emcniece/.nvm/versions/node/v9.5.0/lib/node_modules/git-tutor/node_modules/nodegit/vendor/libssh2/missing: Unknown `--is-lightweight' option Try `/Users/emcniece/.nvm/versions/node/v9.5.0/lib/node_modules/git-tutor/node_modules/nodegit/vendor/libssh2/missing --help' for more information configure: WARNING: 'missing' script is too old or missing configure: error: No crypto library found! Try --with-libssl-prefix=PATH or --with-libgcrypt-prefix=PATH or --with-wincng on Windows at ChildProcess.exithandler (child_process.js:272:12) at ChildProcess.emit (events.js:160:13) at maybeClose (internal/child_process.js:943:16) at Socket.stream.socket.on (internal/child_process.js:363:11) at Socket.emit (events.js:160:13) at Pipe._handle.close [as _onclose] (net.js:562:12) killed: false, code: 1, signal: null, cmd: '/Users/emcniece/.nvm/versions/node/v9.5.0/lib/node_modules/git-tutor/node_modules/nodegit/vendor/libssh2/configure --with-libssl-prefix=/Users/emcniece/.nvm/versions/node/v9.5.0/lib/node_modules/git-tutor/node_modules/nodegit/vendor/openssl/openssl' } /Users/emcniece/.nvm/versions/node/v9.5.0/lib/node_modules/git-tutor/node_modules/nodegit/vendor/libssh2/missing: Unknown `--is-lightweight' option Try `/Users/emcniece/.nvm/versions/node/v9.5.0/lib/node_modules/git-tutor/node_modules/nodegit/vendor/libssh2/missing --help' for more information configure: WARNING: 'missing' script is too old or missing configure: error: No crypto library found! Try --with-libssl-prefix=PATH or --with-libgcrypt-prefix=PATH or --with-wincng on Windows [nodegit] ERROR - Could not finish preinstall { Error: Command failed: /Users/emcniece/.nvm/versions/node/v9.5.0/lib/node_modules/git-tutor/node_modules/nodegit/vendor/libssh2/configure --with-libssl-prefix=/Users/emcniece/.nvm/versions/node/v9.5.0/lib/node_modules/git-tutor/node_modules/nodegit/vendor/openssl/openssl /Users/emcniece/.nvm/versions/node/v9.5.0/lib/node_modules/git-tutor/node_modules/nodegit/vendor/libssh2/missing: Unknown `--is-lightweight' option Try `/Users/emcniece/.nvm/versions/node/v9.5.0/lib/node_modules/git-tutor/node_modules/nodegit/vendor/libssh2/missing --help' for more information configure: WARNING: 'missing' script is too old or missing configure: error: No crypto library found! Try --with-libssl-prefix=PATH or --with-libgcrypt-prefix=PATH or --with-wincng on Windows at ChildProcess.exithandler (child_process.js:272:12) at ChildProcess.emit (events.js:160:13) at maybeClose (internal/child_process.js:943:16) at Socket.stream.socket.on (internal/child_process.js:363:11) at Socket.emit (events.js:160:13) at Pipe._handle.close [as _onclose] (net.js:562:12) killed: false, code: 1, signal: null, cmd: '/Users/emcniece/.nvm/versions/node/v9.5.0/lib/node_modules/git-tutor/node_modules/nodegit/vendor/libssh2/configure --with-libssl-prefix=/Users/emcniece/.nvm/versions/node/v9.5.0/lib/node_modules/git-tutor/node_modules/nodegit/vendor/openssl/openssl' } npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! nodegit@0.20.3 install: `node lifecycleScripts/preinstall && node lifecycleScripts/install` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the nodegit@0.20.3 install 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! /Users/emcniece/.npm/_logs/2018-08-21T16_56_13_926Z-debug.log ```

lesnitsky commented 6 years ago

Thanks for opening this up I will investigate install failure with node >9, most likely it needs some tuning/prerequisite steps for nodegit

DonRichards commented 6 years ago

Same issue for me. OSX as well

lesnitsky commented 6 years ago

Brief search of nodegit issues brought me to a comment "for me, reinstalling brew and doing brew install libgcrypt solved it", but that's kinda insane 😂

bhirmbani commented 6 years ago

I got this issue as well but after doing this suggestion: https://github.com/R1ZZU/git-tutor/issues/1#issuecomment-415874482, then npm i -g git-tutor again work successfully for me.

tamouse commented 6 years ago

Installing latest nodegit before installing git-tutor seems to make this work, without resorting to blowing up brew first

$ npm install -g nodegit@latest

> nodegit@0.22.2 install /usr/local/lib/node_modules/nodegit
> node lifecycleScripts/preinstall && node lifecycleScripts/install

[nodegit] Running pre-install script
[nodegit] Configuring libssh2.
[nodegit] Running install script
[nodegit] Success: "/usr/local/lib/node_modules/nodegit/build/Release/nodegit.node" is installed via remote
[nodegit] Completed installation successfully.

> nodegit@0.22.2 postinstall /usr/local/lib/node_modules/nodegit
> node lifecycleScripts/postinstall

+ nodegit@0.22.2
added 138 packages in 18.296s
$ npm install -g git-tutor
/usr/local/bin/git-tutor -> /usr/local/lib/node_modules/git-tutor/cli.js
+ git-tutor@0.1.0
updated 1 package in 1.363s
lesnitsky commented 6 years ago

@tamouse did you also had a trouble with installation of git-tutor? Not sure if installing node-git globally first would solve the issue. Essentially, if package a depends on b, when you install a npm would install b automatically (which is the same you did but on your own)

tamouse commented 6 years ago

@R1ZZU Yes, initially I had an error trying to install the script; it couldn't find the version specified in the package.json file. I ran the above and it did install.

I ran into some other problems, and decided to fork/clone the repo. I bumped up the version in the clone and got it to work. I won't have any more time to look at this for awhile, I'm about to head out for a month.

lesnitsky commented 6 years ago

I bumped up the version in the clone and got it to work

What version did you specify in your fork?

UPD: NVM, found it in your fork 😄

tamouse commented 6 years ago

@latest, which works out to 0.22.2

lesnitsky commented 6 years ago

Bumped node-git version and published new version to npm The issues still there...

emcniece commented 6 years ago

I can confirm that the global install of nodegit resulted in a successful install of git-tutor. Apologies though, I didn't confirm the previously attempted install versions.

A few days ago I tried a brew install libgcrypt which did update that package but npm i -g git-tutor still failed after this. I didn't reinstall brew.

Steps to success this morning:

npm i -g nodegit
npm i -g git-tutor
lesnitsky commented 6 years ago

Added this preliminary step to readme, but will investigate this further. Any help will be highly appreciated