5

我是使用 Gatsby 的新手。我可以使用 Gatsby 的默认启动器,但任何其他启动器似乎都依赖于 Sharp,无论我做什么,安装都会失败。

    info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.6.1/libvips-8.6.1-darwin-x64.tar.gz
/Users/djfriar/Sites/gatsby-pretty/node_modules/sharp/install/libvips.js:76
          throw err;
          ^

Error: self signed certificate in certificate chain
    at TLSSocket.onConnectSecure (_tls_wrap.js:1049:34)
    at TLSSocket.emit (events.js:182:13)
    at TLSSocket._finishInit (_tls_wrap.js:631:8)
gyp WARN install got an error, rolling back install
gyp ERR! configure error 
gyp ERR! stack Error: self signed certificate in certificate chain
gyp ERR! stack     at TLSSocket.onConnectSecure (_tls_wrap.js:1049:34)
gyp ERR! stack     at TLSSocket.emit (events.js:182:13)
gyp ERR! stack     at TLSSocket._finishInit (_tls_wrap.js:631:8)
gyp ERR! System Darwin 18.2.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/djfriar/Sites/gatsby-pretty/node_modules/sharp
gyp ERR! node -v v10.15.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! sharp@0.20.8 install: `(node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the sharp@0.20.8 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/djfriar/.npm/_logs/2018-12-30T06_05_17_559Z-debug.log
error Command failed: npm install

有谁知道我在这里可能会错过什么?

4

3 回答 3

5

尝试删除您的node_modules和您的package-lock.json(如果使用 npm)或yarn.lock(如果使用纱线)。

使用 npm

$ rm -rf node_modules package-lock.json
$ npm install
$ npm run build

用纱

$ rm -rf node_modules yarn.lock
$ yarn
$ yarn build

这为我解决了这个问题。似乎我yarn.lock的与我的节点版本冲突并导致了错误。

如果这对您不起作用,请查看此 GitHub 问题问题,其中提到了其他可能的修复。

于 2019-09-08T16:52:01.880 回答
0

尽可能避免使用sudowith npm install。如果您绝对必须使用 sudo 然后添加npm install --unsafe-perm标志。

于 2021-03-09T10:08:05.630 回答
-1

我在 json 包中将 "sharp": "^0.21", 改为 "sharp": "^0.22.1",终于成功了。

于 2020-04-26T17:13:03.503 回答