Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gitbook build stopped to work in node 12.18.3 #110

Open
mikyjpeg opened this issue Jul 29, 2020 · 38 comments
Open

Gitbook build stopped to work in node 12.18.3 #110

mikyjpeg opened this issue Jul 29, 2020 · 38 comments

Comments

@mikyjpeg
Copy link

mikyjpeg commented Jul 29, 2020

Since the new version of node, when running gitbook build it fails with the following error:

Installing GitBook 3.2.3

/home/travis/.nvm/versions/node/v12.18.3/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js:287
      if (cb) cb.apply(this, arguments)
                 ^
TypeError: cb.apply is not a function
    at /home/travis/.nvm/versions/node/v12.18.3/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js:287:18
    at FSReqCallback.oncomplete (fs.js:169:5)

The command "gitbook install" failed and exited with 1 during .

The command still works fine when using 12.18.2

@JoeyBling
Copy link

Yes, I have the same problem. My node version is v14.6.0

@SadSock
Copy link

SadSock commented Aug 1, 2020

I have the same problem.

@rjbeers
Copy link
Contributor

rjbeers commented Aug 3, 2020

I believe the issue was resolved by isaacs/node-graceful-fs@168bdb8, but gitbook-cli has outdated dependencies which pull in versions of graceful-fs without the fix.

@hitzhangjie
Copy link

hitzhangjie commented Aug 3, 2020

I have the same problem, too.

please help.

node version is v14.6.0.

@greyltc
Copy link

greyltc commented Aug 5, 2020

In light of
https://github.com/GitbookIO/gitbook#%EF%B8%8F-deprecation-warning
We probably need to fork gitbook-cli to maintain it. Who wants to do it?

@JoeyBling
Copy link

@greyltc That sounds good. You can unify one person to fork and then maintain it through the open source community

@JoeyBling
Copy link

@rjbeers Thank you very much. You're right.

  1. if you run gitbook serve has error and your gitbook-cli is installed globally.
    Find the NPM global installation directory and into dir node_modules/gitbook-cli/node_modules/npm/node_modules Execute the order

npm install graceful-fs@latest --save

  1. if you run gitbook install has error
    Go to user directory and into dir .gitbook/versions/3.2.3/node_modules/npm Execute the order

npm install graceful-fs@latest --save

@zzaacchh
Copy link

@greyltc I noticed a new fork -- greyltc@2b39017 . Thanks! Are you planning to publish your fork as an npm package? Let me know if I can be any help. Our team depends on gitbook-cli, so I'd love to find a path forward.

@greyltc
Copy link

greyltc commented Aug 11, 2020

@zzaacchh
I rely on gitbook-cli as well and it's very unfortunate and frustrating that upstream support for it has been dropped (but hey, you can't always have your cake and eat it too!) and I would love a path forward too.
I would plan to publish my fork so that the community can have a working gitbook-cli, but I can't get it to work.

The NPM dependancy system seems to be a real nightmare. Any help is welcome.

@zzaacchh
Copy link

Thanks, @greyltc . I'm planning to hire someone on upwork to help fork and repackage. Any chance you'd be up for pitching in on the cost for that?

@greyltc
Copy link

greyltc commented Aug 14, 2020

The stuff I use gitbook-cli for is free, open and, non-revenue-generating, so unfortunately I don't have much other than a little of my time to offer. And that's not so valuble here because I don't know shit about javascript!

@vradars
Copy link

vradars commented Aug 28, 2020

I was reached out by @zzaacchh. I’m happy to support this project for free! Forked.

@mxiaole
Copy link

mxiaole commented Aug 29, 2020

I believe the issue was resolved by isaacs/node-graceful-fs@168bdb8, but gitbook-cli has outdated dependencies which pull in versions of graceful-fs without the fix.

yeah it helps !!! my node version is v14.5.0
thanks !!

@kimploo
Copy link

kimploo commented Sep 1, 2020

I ended up to use nvm to use nodejs 10 lts. I updated dependency of graceful-fs globally and locally but it won't help.

@rafauke
Copy link

rafauke commented Sep 15, 2020

I had the same issue but using different package. It was mentioned before that selective dependency resolution can help with that:

"resolutions": {
  "**/graceful-fs": "^4.2.4"
}

I am installing my deps with yarn and this fixed the issue. I think it's a good idea to double check if the version installed in node_modules is actually 4.2.4 - maybe a lock file or cache keeps installing other version.

@gengjiawen
Copy link

gengjiawen commented Mar 22, 2021

I make my own fork, if you are interested, just use npm i -g gengjiawen/gitbook-cli should work.

I also develop an github action for generate books, please refer to: https://github.com/gengjiawen/koajs-design-note.

@k8w
Copy link

k8w commented Apr 29, 2021

Still +1

@jinifor
Copy link

jinifor commented Jun 18, 2021

I had same problem.
I think seems to be dependancy problem with latest version for graceful-fs.
Change the graceful-fs version solves the problem.

My environment is :

  • OS : macOS Big Sur
  • node : v12.22.1
  • npm : v6.14.12
  • gitbook-cli : gitbook-cli@2.3.2
  • graceful-fs : 4.1.4

try this :

$ npm i -g gitbook-cli
$ cd /usr/local/lib/node_modules/gitbook-cli
$ npm i graceful-fs@4.1.4 --save
$ cd /usr/local/lib/node_modules/gitbook-cli/node_modules/npm
$ npm i graceful-fs@4.1.4 --save
$ cd {your gitbook directory}
$ gitbook init
$ gitbook serve

info: 7 plugins are installed
info: loading plugin "livereload"... OK
info: loading plugin "highlight"... OK
info: loading plugin "search"... OK
info: loading plugin "lunr"... OK
info: loading plugin "sharing"... OK
info: loading plugin "fontsettings"... OK
info: loading plugin "theme-default"... OK
info: found 1 pages
info: found 0 asset files
info: >> generation finished with success in 0.2s !

Starting server ...
Serving book on http://localhost:4000

@sbyeol3
Copy link

sbyeol3 commented Jun 28, 2021

I had same problem.
I think seems to be dependancy problem with latest version for graceful-fs.
Change the graceful-fs version solves the problem.

My environment is :

  • OS : macOS Big Sur
  • node : v12.22.1
  • npm : v6.14.12
  • gitbook-cli : gitbook-cli@2.3.2
  • graceful-fs : 4.1.4

try this :

$ npm i -g gitbook-cli
$ cd /usr/local/lib/node_modules/gitbook-cli
$ npm i graceful-fs@4.1.4 --save
$ cd /usr/local/lib/node_modules/gitbook-cli/node_modules/npm
$ npm i graceful-fs@4.1.4 --save
$ cd {your gitbook directory}
$ gitbook init
$ gitbook serve

info: 7 plugins are installed
info: loading plugin "livereload"... OK
info: loading plugin "highlight"... OK
info: loading plugin "search"... OK
info: loading plugin "lunr"... OK
info: loading plugin "sharing"... OK
info: loading plugin "fontsettings"... OK
info: loading plugin "theme-default"... OK
info: found 1 pages
info: found 0 asset files
info: >> generation finished with success in 0.2s !
Starting server ...
Serving book on http://localhost:4000

It works for me :) Thanks 😋 @jinifor

  • npm : v7.18.1
  • node : v16.4.0

@laurieliyang
Copy link

I had same problem.
I think seems to be dependancy problem with latest version for graceful-fs.
Change the graceful-fs version solves the problem.

My environment is :

  • OS : macOS Big Sur
  • node : v12.22.1
  • npm : v6.14.12
  • gitbook-cli : gitbook-cli@2.3.2
  • graceful-fs : 4.1.4

try this :

$ npm i -g gitbook-cli
$ cd /usr/local/lib/node_modules/gitbook-cli
$ npm i graceful-fs@4.1.4 --save
$ cd /usr/local/lib/node_modules/gitbook-cli/node_modules/npm
$ npm i graceful-fs@4.1.4 --save
$ cd {your gitbook directory}
$ gitbook init
$ gitbook serve

info: 7 plugins are installed
info: loading plugin "livereload"... OK
info: loading plugin "highlight"... OK
info: loading plugin "search"... OK
info: loading plugin "lunr"... OK
info: loading plugin "sharing"... OK
info: loading plugin "fontsettings"... OK
info: loading plugin "theme-default"... OK
info: found 1 pages
info: found 0 asset files
info: >> generation finished with success in 0.2s !
Starting server ...
Serving book on http://localhost:4000

It works for me too !!! Thanks @jinifor

@acceptMyPR
Copy link

Workaround for me in node:v14.16.0

$ yarn global add gitbook-cli@2.2.0
$ gitbook fetch 3.2.3

@lianghuipinglz
Copy link

My node version is v14.0.0
"gitbook install" can success

@nakov
Copy link

nakov commented Nov 21, 2021

Just replace the crashing file polyfills.js with this one:
https://raw.githubusercontent.com/isaacs/node-graceful-fs/168bdb8f0bb3174e8499d4bc5878deead4172c39/polyfills.js

This works like a charm in Node.js v16.13.0.

@nakov
Copy link

nakov commented Nov 21, 2021

These are the detailed steps to fix the problem (temporary, just to execute gitbook install and gitbook build):

Install gitbook-cli globally (if not already installed)

npm -g install gitbook-cli

Go to your NPM global modules directory (find its location by typing npm -g list)

Linux: cd /usr/lib/node_modules
Windows: cd %AppData%/npm/node_modules

Go to the graceful-fs folder

cd gitbook-cli/node_modules/npm/node_modules/graceful-fs

Delete the old incompatible file polyfills.js, which causes TypeError: cb.apply is not a function

rm polyfills.js

Download a fixed newer version of polyfills.js from GitHub

wget https://raw.githubusercontent.com/isaacs/node-graceful-fs/168bdb8f0bb3174e8499d4bc5878deead4172c39/polyfills.js

@MaDolphin
Copy link

I had same problem. I think seems to be dependancy problem with latest version for graceful-fs. Change the graceful-fs version solves the problem.

My environment is :

  • OS : macOS Big Sur
  • node : v12.22.1
  • npm : v6.14.12
  • gitbook-cli : gitbook-cli@2.3.2
  • graceful-fs : 4.1.4

try this :

$ npm i -g gitbook-cli $ cd /usr/local/lib/node_modules/gitbook-cli $ npm i graceful-fs@4.1.4 --save $ cd /usr/local/lib/node_modules/gitbook-cli/node_modules/npm $ npm i graceful-fs@4.1.4 --save $ cd {your gitbook directory} $ gitbook init $ gitbook serve

info: 7 plugins are installed
info: loading plugin "livereload"... OK
info: loading plugin "highlight"... OK
info: loading plugin "search"... OK
info: loading plugin "lunr"... OK
info: loading plugin "sharing"... OK
info: loading plugin "fontsettings"... OK
info: loading plugin "theme-default"... OK
info: found 1 pages
info: found 0 asset files
info: >> generation finished with success in 0.2s !
Starting server ...
Serving book on http://localhost:4000

Great!! It works for me.

@geeknees
Copy link

#110 (comment)
This works for me too. I'm using M1 mac + homebrew and changed the PATH, so I need to make the following changes.

npm i -g gitbook-cli
cd /opt/homebrew/lib/node_modules/gitbook-cli
npm i graceful-fs@4.1.4 --save
cd /opt/homebrew/lib/node_modules/gitbook-cli/node_modules/npm
npm i graceful-fs@4.1.4 --save
cd {your gitbook directory}
gitbook init
gitbook serve

@VaneHay
Copy link

VaneHay commented Mar 1, 2022

I had same problem. I think seems to be dependancy problem with latest version for graceful-fs. Change the graceful-fs version solves the problem.

My environment is :

  • OS : macOS Big Sur
  • node : v12.22.1
  • npm : v6.14.12
  • gitbook-cli : gitbook-cli@2.3.2
  • graceful-fs : 4.1.4

try this :

$ npm i -g gitbook-cli $ cd /usr/local/lib/node_modules/gitbook-cli $ npm i graceful-fs@4.1.4 --save $ cd /usr/local/lib/node_modules/gitbook-cli/node_modules/npm $ npm i graceful-fs@4.1.4 --save $ cd {your gitbook directory} $ gitbook init $ gitbook serve

info: 7 plugins are installed
info: loading plugin "livereload"... OK
info: loading plugin "highlight"... OK
info: loading plugin "search"... OK
info: loading plugin "lunr"... OK
info: loading plugin "sharing"... OK
info: loading plugin "fontsettings"... OK
info: loading plugin "theme-default"... OK
info: found 1 pages
info: found 0 asset files
info: >> generation finished with success in 0.2s !
Starting server ...
Serving book on http://localhost:4000

thank you! it is working...

@wanghao6736
Copy link

These are the detailed steps to fix the problem (temporary, just to execute gitbook install and gitbook build):

Install gitbook-cli globally (if not already installed)

npm -g install gitbook-cli

Go to your NPM global modules directory (find its location by typing npm -g list)

Linux: cd /usr/lib/node_modules Windows: cd %AppData%/npm/node_modules

Go to the graceful-fs folder

cd gitbook-cli/node_modules/npm/node_modules/graceful-fs

Delete the old incompatible file polyfills.js, which causes TypeError: cb.apply is not a function

rm polyfills.js

Download a fixed newer version of polyfills.js from GitHub

wget https://raw.githubusercontent.com/isaacs/node-graceful-fs/168bdb8f0bb3174e8499d4bc5878deead4172c39/polyfills.js

that's helpful! I finally manage to install gitbook with node v16.14.1

@minhnguyenvan95
Copy link

  • 1

@dbhuang
Copy link

dbhuang commented Apr 18, 2022

node -v 16.14.2 npm -v 8.5.0
node -v 17.9.0 npm -v 8.7.0

cd C:\Users\admin\AppData\Roaming\npm\node_modules\gitbook-cli\node_modules\npm\node_modules
I tried to install graceful-fs@latest(graceful-fs@4.2.10), but when I finished, the Gitbook was gone. Finally, graceful-fs@4.2.0 was installed to fix the problem

Find the global installation directory for NPM: (prefix)
C:\Users\admin\AppData\Roaming\npm\node_modules\gitbook-cli\node_modules\npm\node_modules>npm config ls
; "builtin" config from C:\Users\admin\AppData\Roaming\npm\node_modules\npm\npmrc

prefix = "C:\Users\admin\AppData\Roaming\npm"

; "user" config from C:\Users\admin.npmrc

registry = "https://registry.npm.taobao.org/"

; node bin location = C:\Program Files\nodejs\node.exe
; node version = v17.9.0
; npm local prefix = C:\Users\admin\AppData\Roaming\npm\node_modules\gitbook-cli\node_modules\npm
; npm version = 8.7.0
; cwd = C:\Users\admin\AppData\Roaming\npm\node_modules\gitbook-cli\node_modules\npm\node_modules
; HOME = C:\Users\admin
; Run npm config ls -l to show all defaults.

@marc-spinozza
Copy link

marc-spinozza commented Jul 3, 2022

To anyone still having this issue, I have setup an devcontainer environment with gitbook configured and working fine. The gitbook fix is based on @jinifor contribution above #110 (comment)

devcontainer-gitbook

Hope it can help someone!

@gurezo
Copy link

gurezo commented Sep 18, 2022

I have the same problem.
my pc develop enviroment

macOS Monterey v12.6
$ node -v 
v16.17.0
$ npm -v
8.15.0
$ yarn -v
1.22.19
$ ruby -v
ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.arm64e-darwin21]

#110 (comment)
I replaced the polyfills.js as per the instructions in the comments, but the result was the same

@nakov
Copy link

nakov commented Sep 19, 2022

I use GitHub Actions script to build and deploy my gitbook-based books. This is the script. It works successfully in the last 3 years: https://github.com/SoftUni/Programming-Basics-Book-JS-EN/blob/master/.github/workflows/gitbook-deploy.yml

@jiacai2050
Copy link

It seems this project hasn't got any update since 2017, it's time to move on something else, some alternatives:

@uudiin
Copy link

uudiin commented Feb 14, 2023

I have the same problem, too.

please help.

node version is v18.14.0.

@mahula
Copy link

mahula commented Oct 27, 2023

This problem still exists.
Any workaround or solutions instead of usin NodeJS <=12.18.2?

@gengjiawen
Copy link

This problem still exists. Any workaround or solutions instead of usin NodeJS <=12.18.2?

#110 (comment) this works on Node.js 22.

@bruce256
Copy link

bruce256 commented Aug 2, 2024

$ npm install -g gitbook-cli@2.2.0 $ gitbook fetch 3.2.3

it works for me, in Windows, node 10.8.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests