【问题标题】:Ubuntu 18.04 - npm update - Error: canvas@2.6.1 install: `node-pre-gyp install --fallback-to-build`Ubuntu 18.04 - npm 更新 - 错误:canvas@2.6.1 安装:`node-pre-gyp install --fallback-to-build`
【发布时间】:2020-08-03 23:49:31
【问题描述】:

尝试的 NodeJS 版本:

  • 13.13.0
  • 12.16.2
  • 8.10.0

npm 版本:6.14.4

已关注:https://askubuntu.com/questions/677498/unable-to-install-latest-nodejs-version-on-ubuntu-14-04 并输入:

curl -sL https://deb.nodesource.com/setup_0.13 | sudo bash -
sudo apt-get install -y nodejs
301 verbose stack Error: canvas@2.6.1 install: `node-pre-gyp install --fallback-to-build`
301 verbose stack Exit status 1
301 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
301 verbose stack     at EventEmitter.emit (events.js:315:20)
301 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
301 verbose stack     at ChildProcess.emit (events.js:315:20)
301 verbose stack     at maybeClose (internal/child_process.js:1026:16)
301 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
302 verbose pkgid canvas@2.6.1
303 verbose cwd /home/2PG
304 verbose Linux 4.15.0-88-generic
305 verbose argv "/usr/bin/node" "/usr/bin/npm" "update"
306 verbose node v13.13.0
307 verbose npm  v6.14.4
308 error code ELIFECYCLE
309 error errno 1
310 error canvas@2.6.1 install: `node-pre-gyp install --fallback-to-build`
310 error Exit status 1
311 error Failed at the canvas@2.6.1 install script.
311 error This is probably not a problem with npm. There is likely additional logging output above.
312 verbose exit [ 1, true ]

完整日志:https://pastebin.com/V3N14w5p

当我输入sudo apt-get install npm:

重现步骤:

1) 创建新的 DigitalOcean NodeJS droplet (v8.10.0)

2) 使用 FileZilla 拖放 https://github.com/theADAMJR/2PG

3) 进入文件夹并输入npm i

【问题讨论】:

    标签: node.js linux ubuntu npm apt


    【解决方案1】:

    这是一个已知的issue。不支持该版本的 Node。我建议你使用12.x

    如果你想使用13.x。我能够在13.1.0 上正确安装它,否则您需要等到他们更新软件包以支持您要使用的节点版本,这是所有原生插件的常见问题。

    【讨论】:

    • 试过了:``` curl -sL deb.nodesource.com/setup_12.x | sudo bash - sudo apt-get install -y nodejs ``` 但结果相同
    • 嗯,安装Node,和npm install canvas@2.6.1无关,请把你正在执行的命令全部显示出来。
    • sudo apt-get purge nodejs* curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash - sudo apt-get install -y nodejs npm i 我相信我输入这个是为了制造问题。以前,当我输入 sudo apt install nodejs 时,我的 NodeJS 是 v8
    • npm i 在您的项目上触发错误,因为您正在尝试安装您的节点版本不支持的包。安装节点12.x,退出那个终端,打开一个新的node -v检查它确实是node 12.x,清除node_modules,再次运行npm i
    • 不客气。如果您要切换节点版本,请始终清除 node_modules。或者你应该改用npm rebuild
    猜你喜欢
    • 2019-12-22
    • 1970-01-01
    • 2018-08-05
    • 2021-01-13
    • 2020-02-05
    • 2018-12-08
    • 2021-07-23
    • 2016-02-01
    • 2016-02-12
    相关资源
    最近更新 更多