Ubuntu系统下 npm install -g tauri 报错问题处理

处理在安装 Tauri 时遇到的问题,可以按照以下步骤进行操作

bash 复制代码
 npm install -g tauri
bash 复制代码
npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility
npm warn deprecated q@1.5.1: You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.
npm warn deprecated
npm warn deprecated (For a CapTP with native promises, see @endo/eventual-send and @endo/captp)
npm warn deprecated are-we-there-yet@1.1.7: This package is no longer supported.
npm warn deprecated npmlog@4.1.2: This package is no longer supported.
npm warn deprecated har-validator@5.1.5: this library is no longer supported
npm warn deprecated gauge@2.7.4: This package is no longer supported.
npm warn deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm warn deprecated w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin.
npm warn deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm warn deprecated domexception@2.0.1: Use your platform's native DOMException instead
npm warn deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm warn deprecated rimraf@2.7.1: Rimraf versions prior to v4 are no longer supported
npm warn deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm warn deprecated @tauri-apps/tauri-inliner@1.14.1: Tauri now uses a custom protocol for asset loading so this package is not used anymore.
npm warn deprecated svgo@1.3.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
npm error code 1
npm error path /root/.nvm/versions/node/v20.18.1/lib/node_modules/tauri/node_modules/sharp
npm error command failed
npm error command sh -c (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
npm error make: Entering directory '/root/.nvm/versions/node/v20.18.1/lib/node_modules/tauri/node_modules/sharp/build'
npm error   CC(target) Release/obj.target/nothing/../node-addon-api/nothing.o
npm error rm -f Release/obj.target/../node-addon-api/nothing.a Release/obj.target/../node-addon-api/nothing.a.ar-file-list; mkdir -p `dirname Release/obj.target/../node-addon-api/nothing.a`
npm error ar crs Release/obj.target/../node-addon-api/nothing.a @Release/obj.target/../node-addon-api/nothing.a.ar-file-list
npm error   COPY Release/nothing.a
npm error   TOUCH Release/obj.target/libvips-cpp.stamp
npm error   CXX(target) Release/obj.target/sharp/src/common.o
npm error make: Leaving directory '/root/.nvm/versions/node/v20.18.1/lib/node_modules/tauri/node_modules/sharp/build'
npm error info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.10.5/libvips-8.10.5-linux-x64.tar.br
npm error ERR! sharp Request timed out
npm error info sharp Attempting to build from source via node-gyp but this may fail due to the above error
npm error info sharp Please see https://sharp.pixelplumbing.com/install for required dependencies
npm error gyp info it worked if it ends with ok
npm error gyp info using node-gyp@10.1.0
npm error gyp info using node@20.18.1 | linux | x64
npm error gyp info find Python using Python version 3.10.12 found at "/usr/bin/python3"
npm error gyp http GET https://nodejs.org/download/release/v20.18.1/node-v20.18.1-headers.tar.gz
npm error gyp http 200 https://nodejs.org/download/release/v20.18.1/node-v20.18.1-headers.tar.gz
npm error gyp http GET https://nodejs.org/download/release/v20.18.1/SHASUMS256.txt
npm error gyp http 200 https://nodejs.org/download/release/v20.18.1/SHASUMS256.txt
npm error gyp info spawn /usr/bin/python3
npm error gyp info spawn args [
npm error gyp info spawn args '/root/.nvm/versions/node/v20.18.1/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm error gyp info spawn args 'binding.gyp',
npm error gyp info spawn args '-f',
npm error gyp info spawn args 'make',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/root/.nvm/versions/node/v20.18.1/lib/node_modules/tauri/node_modules/sharp/build/config.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/root/.nvm/versions/node/v20.18.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/root/.cache/node-gyp/20.18.1/include/node/common.gypi',
npm error gyp info spawn args '-Dlibrary=shared_library',
npm error gyp info spawn args '-Dvisibility=default',
npm error gyp info spawn args '-Dnode_root_dir=/root/.cache/node-gyp/20.18.1',
npm error gyp info spawn args '-Dnode_gyp_dir=/root/.nvm/versions/node/v20.18.1/lib/node_modules/npm/node_modules/node-gyp',
npm error gyp info spawn args '-Dnode_lib_file=/root/.cache/node-gyp/20.18.1/<(target_arch)/node.lib',
npm error gyp info spawn args '-Dmodule_root_dir=/root/.nvm/versions/node/v20.18.1/lib/node_modules/tauri/node_modules/sharp',
npm error gyp info spawn args '-Dnode_engine=v8',
npm error gyp info spawn args '--depth=.',
npm error gyp info spawn args '--no-parallel',
npm error gyp info spawn args '--generator-output',
npm error gyp info spawn args 'build',
npm error gyp info spawn args '-Goutput_dir=.'
npm error gyp info spawn args ]
npm error gyp info spawn make
npm error gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm error <command-line>: warning: "_GLIBCXX_USE_CXX11_ABI" redefined
npm error <command-line>: note: this is the location of the previous definition
npm error ../src/common.cc:24:10: fatal error: vips/vips8: No such file or directory
npm error    24 | #include <vips/vips8>
npm error       |          ^~~~~~~~~~~~
npm error compilation terminated.
npm error make: *** [sharp.target.mk:136: Release/obj.target/sharp/src/common.o] Error 1
npm error gyp ERR! build error 
npm error gyp ERR! stack Error: `make` failed with exit code: 2
npm error gyp ERR! stack at ChildProcess.<anonymous> (/root/.nvm/versions/node/v20.18.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:209:23)
npm error gyp ERR! System Linux 5.15.0-113-generic
npm error gyp ERR! command "/root/.nvm/versions/node/v20.18.1/bin/node" "/root/.nvm/versions/node/v20.18.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm error gyp ERR! cwd /root/.nvm/versions/node/v20.18.1/lib/node_modules/tauri/node_modules/sharp
npm error gyp ERR! node -v v20.18.1
npm error gyp ERR! node-gyp -v v10.1.0
npm error gyp ERR! not ok

处理在安装 Tauri 时遇到的问题,可以按照以下步骤进行操作:

1. 安装 sharp 所需的系统依赖

sharp 库需要一些系统依赖项。根据您使用的 Linux 发行版,您可以使用以下命令安装这些依赖项:

对于 Ubuntu/Debian:

bash 复制代码
sudo apt-get update
sudo apt-get install -y build-essential libvips-dev

对于 Fedora:

bash 复制代码
sudo dnf install -y gcc-c++ make vips-devel

对于 Arch Linux:

bash 复制代码
sudo pacman -S --needed base-devel vips

2. 清除 npm 缓存

有时,清除 npm 缓存可以帮助解决安装问题:

bash 复制代码
npm cache clean --force

3. 重新安装 Tauri

安装完所需的依赖项后,尝试重新安装 Tauri:

bash 复制代码
npm install -g tauri

4. 检查 Node.js 和 npm 版本

确保您使用的是兼容的 Node.js 和 npm 版本。Tauri 通常与 LTS 版本的 Node.js 配合良好。您可以使用以下命令检查版本:

bash 复制代码
node -v
npm -v

如果需要切换 Node.js 版本,可以使用 nvm(Node 版本管理器)安装不同的版本:

bash 复制代码
nvm install --lts
nvm use --lts

5. 使用 Yarn 作为替代

如果您继续遇到 npm 的问题,可以尝试使用 Yarn 作为替代的包管理器:

bash 复制代码
npm install -g yarn
yarn global add tauri

6. 检查网络问题

错误信息中提到的 Request timed out 表示可能存在网络问题。确保您的互联网连接稳定,并且没有防火墙或代理设置阻止请求。

7. 查看日志文件

如果安装再次失败,请检查错误输出中提到的日志文件,以获取更多详细信息。

相关推荐
orion5715 小时前
Missing Semester Class1:course overview and introduction of shell
linux
用户1204872216121 小时前
Linux驱动编译与加载
linux·嵌入式
用户805533698031 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698031 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
七歌杜金房2 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia3 天前
linux curl命令详解_curl详解
linux
扛枪的书生3 天前
Linux 网络管理器用法速查
linux
顺风尿一寸3 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode3 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫3 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux