活动介绍
file-type

快速部署最快的HLS分发服务器

ZIP文件

下载需积分: 9 | 207KB | 更新于2025-08-13 | 197 浏览量 | 0 下载量 举报 收藏
download 立即下载
标题“fastest-practical-hls:最快的实用HLS”与描述中的内容,共同指向了一个关于HTTP Live Streaming(HLS)的项目。HLS是一种由苹果公司开发的流媒体传输协议,它将视频文件分割成一系列小的、适合网络传输的文件片段,通过HTTP协议进行传输。该技术广泛用于iOS设备的视频流媒体播放。从描述中可以提取以下知识点: 1. HLS服务器优化:该项目的目标是创建一个最快的HLS分发服务器。分发服务器主要负责处理流媒体内容的传输,包括视频文件的分割、编码、存储和分发。为了达到最快的性能,可能需要对服务器的硬件、网络配置、内容分发网络(CDN)等多方面因素进行优化。 2. 死锁问题:描述中提到了一个死锁问题,这通常出现在多线程编程或者软件工程中,指的是程序或系统在执行过程中,因资源竞争或者调用顺序不当等原因,造成多个进程或线程相互等待,从而无法继续执行的情况。在使用Mac操作系统运行服务器时出现不返回响应的情况可能与此有关。解决此类问题可能需要对程序代码进行调试、修改同步机制或采用异步处理方式。 3. Docker部署:文档中提供了使用Docker构建和运行HLS服务器的命令。Docker是一个开源的应用容器引擎,可以让开发者打包应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上。使用Docker可以简化开发和部署流程,提高开发效率,并保证环境一致性。命令中“docker build . -t fastest-practical-hls”表示构建镜像并给镜像打上“fastest-practical-hls”的标签,而“docker run -i -p 3001:3001 fastest-practical-hls”则是运行容器,并将容器的3001端口映射到宿主机的3001端口。 4. 浏览器访问:描述中提到了如何通过浏览器访问HLS服务器。它提供了一个URL(http://localhost:3001),说明了如何在本地通过浏览器访问运行在Docker容器中的HLS服务器。其中,“localhost”指的是本地主机,即运行Docker的本机,“3001”是映射后的端口号,意味着可以通过这个地址访问HLS服务。 标签“JavaScript”暗示了该项目或其文档中可能涉及到JavaScript语言。虽然HLS协议本身与JavaScript无直接关系,但JavaScript可能被用于控制或配置HLS服务的前端用户界面。例如,可以通过JavaScript与HLS服务器进行交互,来动态管理视频播放、用户认证或其他界面相关功能。 文件名列表中的“fastest-practical-hls-master”表明该项目的代码或文档存放在名为“fastest-practical-hls”的仓库中,并且使用了常见的master分支命名。在GitHub等代码托管平台上,“master”分支通常被用作项目的主分支,用于存放随时可以部署到生产环境的代码。由于项目还在开发中,可能存在的问题或改动将在该分支中进行。 综上所述,该项目是一个旨在优化HLS分发服务的实践性项目,特别关注性能优化,并解决实际部署过程中可能遇到的问题。通过Docker部署和使用JavaScript可能提高了项目的可扩展性和用户交互性。

相关推荐

filetype

Process pipe failed 2025-06-05 21:00:33.745 22340-22371 ConfigStore com.example.diaryapp I android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0 2025-06-05 21:00:33.745 22340-22371 ConfigStore com.example.diaryapp I android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0 2025-06-05 21:00:33.745 22340-22371 OpenGLRenderer com.example.diaryapp I Initialized EGL, version 1.4 2025-06-05 21:00:33.745 22340-22371 OpenGLRenderer com.example.diaryapp D Swap behavior 1 2025-06-05 21:00:33.746 22340-22371 EGL_adreno com.example.diaryapp E CreateContext rcMajorVersion:3, minorVersion:2 2025-06-05 21:00:33.754 22340-22371 EGL_adreno com.example.diaryapp D eglCreateContext: 0x7f2e2da30120: maj 3 min 2 rcv 3 2025-06-05 21:00:33.754 22340-22371 EGL_adreno com.example.diaryapp E [getAttribValue] Bad attribute idx 2025-06-05 21:00:33.754 22340-22371 EGL_adreno com.example.diaryapp D eglGetConfigAttrib: bad attrib 0x3339 2025-06-05 21:00:33.781 22340-22371 EGL_adreno com.example.diaryapp E [getAttribValue] Bad attribute idx 2025-06-05 21:00:33.781 22340-22371 EGL_adreno com.example.diaryapp D eglGetConfigAttrib: bad attrib 0x3339 2025-06-05 21:00:33.782 22340-22371 vndksupport com.example.diaryapp D Loading /vendor/lib64/hw/[email protected] from current namespace instead of sphal namespace. 2025-06-05 21:00:33.782 22340-22371 vndksupport com.example.diaryapp D Loading /vendor/lib64/hw/gralloc.gmin.so from current namespace instead of sphal namespace. 2025-06-05 21:00:33.786 22340-22371 EGL_adreno com.example.diaryapp E tid 22371: eglSurfaceAttrib(1615): error 0x3009 (EGL_BAD_MATCH) 2025-06-05 21:00:33.786 22340-22371 OpenGLRenderer com.example.diaryapp W Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f2e2da27e00, error=EGL_BAD_MATCH 2025-06-05 21:00:34.214 22340-22340 xample.diaryap com.example.diaryapp W Accessing hidden method Landroid/os/Trace;->asyncTraceBegin(JLjava/lang/String;I)V (light greylist, reflection) 2025-06-05 21:00:34.214 22340-22340 xample.diaryap com.example.diaryapp W Accessing hidden method Landroid/os/Trace;->asyncTraceEnd(JLjava/lang/String;I)V (light greylist, reflection) 2025-06-05 21:00:34.214 22340-22340 xample.diaryap com.example.diaryapp W Accessing hidden method Landroid/os/Trace;->traceCounter(JLjava/lang/String;I)V (light greylist, reflection) 2025-06-05 21:00:39.439 22340-22401 ProfileInstaller com.example.diaryapp D Installing profile for com.example.diaryapp 2025-06-05 21:00:40.016 22340-22371 EGL_adreno com.example.diaryapp E [getAttribValue] Bad attribute idx 2025-06-05 21:00:40.016 22340-22371 EGL_adreno com.example.diaryapp D eglGetConfigAttrib: bad attrib 0x3339 2025-06-05 21:00:40.023 22340-22371 EGL_adreno com.example.diaryapp E tid 22371: eglSurfaceAttrib(1615): error 0x3009 (EGL_BAD_MATCH) 2025-06-05 21:00:40.023 22340-22371 OpenGLRenderer com.example.diaryapp W Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f2e2db3cb80, error=EGL_BAD_MATCH 2025-06-05 21:00:40.026 22340-22340 ActivityThread com.example.diaryapp W handleWindowVisibility: no activity for token android.os.BinderProxy@b266666 2025-06-05 21:00:40.267 22340-22371 EGL_adreno com.example.diaryapp E [getAttribValue] Bad attribute idx 2025-06-05 21:00:40.267 22340-22371 EGL_adreno com.example.diaryapp D eglGetConfigAttrib: bad attrib 0x3339 2025-06-05 21:00:40.283 22340-22371 EGL_adreno com.example.diaryapp E tid 22371: eglSurfaceAttrib(1615): error 0x3009 (EGL_BAD_MATCH) 2025-06-05 21:00:40.283 22340-22371 OpenGLRenderer com.example.diaryapp W Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f2e2db3cc80, error=EGL_BAD_MATCH 2025-06-05 21:00:40.292 22340-22340 Glide com.example.diaryapp W Failed to find GeneratedAppGlideModule. You should include an annotationProcessor compile dependency on com.github.bumptech.glide:compiler in your application and a @GlideModule annotated AppGlideModule implementation or LibraryGlideModules will be silently ignored 2025-06-05 21:00:42.727 22340-22340 ActivityThread com.example.diaryapp W handleWindowVisibility: no activity for token android.os.BinderProxy@7575cb3 2025-06-05 21:00:42.763 22340-22345 xample.diaryap com.example.diaryapp I Compiler allocated 4MB to compile void android.widget.TextView.<init>(android.content.Context, android.util.AttributeSet, int, int) 2025-06-05 21:00:42.780 22340-22371 EGL_adreno com.example.diaryapp E [getAttribValue] Bad attribute idx 2025-06-05 21:00:42.780 22340-22371 EGL_adreno com.example.diaryapp D eglGetConfigAttrib: bad attrib 0x3339 2025-06-05 21:00:42.794 22340-22371 EGL_adreno com.example.diaryapp E tid 22371: eglSurfaceAttrib(1615): error 0x3009 (EGL_BAD_MATCH) 2025-06-05 21:00:42.794 22340-22371 OpenGLRenderer com.example.diaryapp W Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f2e2dbdb280, error=EGL_BAD_MATCH 2025-06-05 21:00:50.659 22340-22371 EGL_adreno com.example.diaryapp E [getAttribValue] Bad attribute idx 2025-06-05 21:00:50.659 22340-22371 EGL_adreno com.example.diaryapp D eglGetConfigAttrib: bad attrib 0x3339 2025-06-05 21:00:50.673 22340-22340 xample.diaryap com.example.diaryapp W Accessing hidden field Landroid/view/View;->mAccessibilityDelegate:Landroid/view/View$AccessibilityDelegate; (light greylist, reflection) 2025-06-05 21:00:50.675 22340-22371 EGL_adreno com.example.diaryapp E tid 22371: eglSurfaceAttrib(1615): error 0x3009 (EGL_BAD_MATCH) 2025-06-05 21:00:50.675 22340-22371 OpenGLRenderer com.example.diaryapp W Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f2e2dbdb300, error=EGL_BAD_MATCH 2025-06-05 21:00:52.086 22340-22340 ActivityThread com.example.diaryapp W handleWindowVisibility: no activity for token android.os.BinderProxy@d5d171c 2025-06-05 21:00:52.186 22340-22371 EGL_adreno com.example.diaryapp E [getAttribValue] Bad attribute idx 2025-06-05 21:00:52.186 22340-22371 EGL_adreno com.example.diaryapp D eglGetConfigAttrib: bad attrib 0x3339 2025-06-05 21:00:52.204 22340-22371 EGL_adreno com.example.diaryapp E tid 22371: eglSurfaceAttrib(1615): error 0x3009 (EGL_BAD_MATCH) 2025-06-05 21:00:52.204 22340-22371 OpenGLRenderer com.example.diaryapp W Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f2e1d0afd00, error=EGL_BAD_MATCH 2025-06-05 21:00:53.766 22340-22371 EGL_adreno com.example.diaryapp E [getAttribValue] Bad attribute idx 2025-06-05 21:00:53.766 22340-22371 EGL_adreno com.example.diaryapp D eglGetConfigAttrib: bad attrib 0x3339 2025-06-05 21:00:53.776 22340-22371 EGL_adreno com.example.diaryapp E tid 22371: eglSurfaceAttrib(1615): error 0x3009 (EGL_BAD_MATCH) 2025-06-05 21:00:53.776 22340-22371 OpenGLRenderer com.example.diaryapp W Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f2e1d337180, error=EGL_BAD_MATCH 2025-06-05 21:00:58.199 22340-22371 EGL_adreno com.example.diaryapp E [getAttribValue] Bad attribute idx 2025-06-05 21:00:58.199 22340-22371 EGL_adreno com.example.diaryapp D eglGetConfigAttrib: bad attrib 0x3339 2025-06-05 21:00:58.220 22340-22371 EGL_adreno com.example.diaryapp E tid 22371: eglSurfaceAttrib(1615): error 0x3009 (EGL_BAD_MATCH) 2025-06-05 21:00:58.220 22340-22371 OpenGLRenderer com.example.diaryapp W Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f2e2dbdb300, error=EGL_BAD_MATCH 2025-06-05 21:01:01.788 22340-22340 ActivityThread com.example.diaryapp W handleWindowVisibility: no activity for token android.os.BinderProxy@bf7a046 2025-06-05 21:01:01.863 22340-22371 EGL_adreno com.example.diaryapp E [getAttribValue] Bad attribute idx 2025-06-05 21:01:01.863 22340-22371 EGL_adreno com.example.diaryapp D eglGetConfigAttrib: bad attrib 0x3339 2025-06-05 21:01:01.880 22340-22371 EGL_adreno com.example.diaryapp E tid 22371: eglSurfaceAttrib(1615): error 0x3009 (EGL_BAD_MATCH) 2025-06-05 21:01:01.880 22340-22371 OpenGLRenderer com.example.diaryapp W Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f2e1d222f00, error=EGL_BAD_MATCH 2025-06-05 21:01:04.247 22340-22371 EGL_adreno com.example.diaryapp E [getAttribValue] Bad attribute idx 2025-06-05 21:01:04.247 22340-22371 EGL_adreno com.example.diaryapp D eglGetConfigAttrib: bad attrib 0x3339 2025-06-05 21:01:04.268 22340-22371 EGL_adreno com.example.diaryapp E tid 22371: eglSurfaceAttrib(1615): error 0x3009 (EGL_BAD_MATCH) 2025-06-05 21:01:04.268 22340-22371 OpenGLRenderer com.example.diaryapp W Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f2e2dbdb300, error=EGL_BAD_MATCH 2025-06-05 21:01:06.508 22340-22340 ActivityThread com.example.diaryapp W handleWindowVisibility: no activity for token android.os.BinderProxy@58e8cd8 2025-06-05 21:01:06.613 22340-22371 EGL_adreno com.example.diaryapp E [getAttribValue] Bad attribute idx 2025-06-05 21:01:06.613 22340-22371 EGL_adreno com.example.diaryapp D eglGetConfigAttrib: bad attrib 0x3339 2025-06-05 21:01:06.633 22340-22371 EGL_adreno com.example.diaryapp E tid 22371: eglSurfaceAttrib(1615): error 0x3009 (EGL_BAD_MATCH) 2025-06-05 21:01:06.633 22340-22371 OpenGLRenderer com.example.diaryapp W Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f2e1d222f00, error=EGL_BAD_MATCH 2025-06-05 21:01:07.985 22340-22371 EGL_adreno com.example.diaryapp E [getAttribValue] Bad attribute idx 2025-06-05 21:01:07.985 22340-22371 EGL_adreno com.example.diaryapp D eglGetConfigAttrib: bad attrib 0x3339 2025-06-05 21:01:07.993 22340-22371 EGL_adreno com.example.diaryapp E tid 22371: eglSurfaceAttrib(1615): error 0x3009 (EGL_BAD_MATCH) 2025-06-05 21:01:07.993 22340-22371 OpenGLRenderer com.example.diaryapp W Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f2e2db3c000, error=EGL_BAD_MATCH 2025-06-05 21:01:07.996 22340-22340 ActivityThread com.example.diaryapp W handleWindowVisibility: no activity for token android.os.BinderProxy@d24a3e0 2025-06-05 21:01:08.020 22340-22349 System com.example.diaryapp W A resource failed to call close. 2025-06-05 21:01:08.021 22340-22349 chatty com.example.diaryapp I uid=10062(com.example.diaryapp) FinalizerDaemon identical 2 lines 2025-06-05 21:01:08.021 22340-22349 System com.example.diaryapp W A resource failed to call close. 2025-06-05 21:01:08.038 22340-22371 EGL_adreno com.example.diaryapp E [getAttribValue] Bad attribute idx 2025-06-05 21:01:08.038 22340-22371 EGL_adreno com.example.diaryapp D eglGetConfigAttrib: bad attrib 0x3339 2025-06-05 21:01:08.057 22340-22371 EGL_adreno com.example.diaryapp E tid 22371: eglSurfaceAttrib(1615): error 0x3009 (EGL_BAD_MATCH) 2025-06-05 21:01:08.057 22340-22371 OpenGLRenderer com.example.diaryapp W Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f2e2c09d580, error=EGL_BAD_MATCH 2025-06-05 21:01:09.873 22340-22340 ActivityThread com.example.diaryapp W handleWindowVisibility: no activity for token android.os.BinderProxy@4e83cf6 2025-06-05 21:01:09.914 22340-22371 EGL_adreno com.example.diaryapp E [getAttribValue] Bad attribute idx 2025-06-05 21:01:09.914 22340-22371 EGL_adreno com.example.diaryapp D eglGetConfigAttrib: bad attrib 0x3339 2025-06-05 21:01:09.934 22340-22371 EGL_adreno com.example.diaryapp E tid 22371: eglSurfaceAttrib(1615): error 0x3009 (EGL_BAD_MATCH) 2025-06-05 21:01:09.934 22340-22371 OpenGLRenderer com.example.diaryapp W Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f2e1d9c8580, error=EGL_BAD_MATCH 2025-06-05 21:01:11.614 22340-22371 EGL_adreno com.example.diaryapp E [getAttribValue] Bad attribute idx 2025-06-05 21:01:11.614 22340-22371 EGL_adreno com.example.diaryapp D eglGetConfigAttrib: bad attrib 0x3339 2025-06-05 21:01:11.629 22340-22371 EGL_adreno com.example.diaryapp E tid 22371: eglSurfaceAttrib(1615): error 0x3009 (EGL_BAD_MATCH) 2025-06-05 21:01:11.629 22340-22371 OpenGLRenderer com.example.diaryapp W Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f2e1d95f280, error=EGL_BAD_MATCH 2025-06-05 21:01:13.193 22340-22371 OpenGLRenderer com.example.diaryapp D endAllActiveAnimators on 0x7f2e1d16d900 (RippleDrawable) with handle 0x7f2e2db44560 2025-06-05 21:01:13.213 22340-22371 EGL_adreno com.example.diaryapp E [getAttribValue] Bad attribute idx 2025-06-05 21:01:13.213 22340-22371 EGL_adreno com.example.diaryapp D eglGetConfigAttrib: bad attrib 0x3339 2025-06-05 21:01:13.231 22340-22371 EGL_adreno com.example.diaryapp E tid 22371: eglSurfaceAttrib(1615): error 0x3009 (EGL_BAD_MATCH) 2025-06-05 21:01:13.231 22340-22371 OpenGLRenderer com.example.diaryapp W Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f2e2db3c680, error=EGL_BAD_MATCH

filetype

[root@VM-16-7-centos UnblockNeteaseMusic]# curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash - # 选v20 LTS版 2025-05-14 13:45:45 - Cleaning up old repositories... 2025-05-14 13:45:45 - Old repositories removed 2025-05-14 13:45:45 - Supported architecture: x86_64 2025-05-14 13:45:45 - Added N|Solid repository for LTS version: 20.x 2025-05-14 13:45:45 - yum available, updating... 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile nodesource-nodejs | 3.0 kB 00:00:00 (1/3): nodesource-nodejs/primary_db | 57 kB 00:00:01 (2/3): nodesource-nodejs/filelists_db | 615 kB 00:00:02 (3/3): nodesource-nodejs/other_db | 7.7 kB 00:00:00 元数据缓存已建立 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile nodesource-nsolid | 3.0 kB 00:00:00 (1/3): nodesource-nsolid/primary_db | 28 kB 00:00:00 (2/3): nodesource-nsolid/other_db | 2.7 kB 00:00:00 (3/3): nodesource-nsolid/filelists_db | 514 kB 00:00:02 元数据缓存已建立 2025-05-14 13:45:53 - Repository is configured and updated. 2025-05-14 13:45:53 - You can use N|solid Runtime as a node.js alternative 2025-05-14 13:45:53 - Run 'yum install nsolid -y' to complete the installation. 2025-05-14 13:45:53 - Run 'yum install nodejs -y' to complete the installation. [root@VM-16-7-centos UnblockNeteaseMusic]# sudo yum clean all && sudo yum install -y nodejs 已加载插件:fastestmirror, langpacks 正在清理软件源: epel extras nodesource-nodejs nodesource-nsolid os updates Cleaning up list of fastest mirrors 已加载插件:fastestmirror, langpacks Determining fastest mirrors epel | 4.3 kB 00:00:00 extras | 2.9 kB 00:00:00 nodesource-nodejs | 3.0 kB 00:00:00 nodesource-nsolid | 3.0 kB 00:00:00 os | 3.6 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/9): epel/7/x86_64/group | 399 kB 00:00:00 (2/9): epel/7/x86_64/updateinfo | 1.0 MB 00:00:00 (3/9): epel/7/x86_64/primary_db | 8.7 MB 00:00:00 (4/9): os/x86_64/group_gz | 153 kB 00:00:00 (5/9): extras/x86_64/primary_db | 253 kB 00:00:00 (6/9): nodesource-nodejs/primary_db | 57 kB 00:00:00 (7/9): updates/x86_64/primary_db | 27 MB 00:00:00 (8/9): os/x86_64/primary_db | 6.1 MB 00:00:01 (9/9): nodesource-nsolid/primary_db | 28 kB 00:00:01 正在解决依赖关系 There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help). --> 正在检查事务 ---> 软件包 nodejs.x86_64.1.16.20.2-1.el7 将被 升级 ---> 软件包 nodejs.x86_64.2.20.19.1-1nodesource 将被 更新 --> 正在处理依赖关系 glibc >= 2.28,它被软件包 2:nodejs-20.19.1-1nodesource.x86_64 需要 --> 正在处理依赖关系 libm.so.6(GLIBC_2.27)(64bit),它被软件包 2:nodejs-20.19.1-1nodesource.x86_64 需要 --> 正在处理依赖关系 libstdc++.so.6(CXXABI_1.3.9)(64bit),它被软件包 2:nodejs-20.19.1-1nodesource.x86_64 需要 --> 正在处理依赖关系 libstdc++.so.6(GLIBCXX_3.4.20)(64bit),它被软件包 2:nodejs-20.19.1-1nodesource.x86_64 需要 --> 正在处理依赖关系 libstdc++.so.6(GLIBCXX_3.4.21)(64bit),它被软件包 2:nodejs-20.19.1-1nodesource.x86_64 需要 --> 正在处理依赖关系 libc.so.6(GLIBC_2.28)(64bit),它被软件包 2:nodejs-20.19.1-1nodesource.x86_64 需要 --> 解决依赖关系完成 错误:软件包:2:nodejs-20.19.1-1nodesource.x86_64 (nodesource-nodejs) 需要:libstdc++.so.6(GLIBCXX_3.4.20)(64bit) 错误:软件包:2:nodejs-20.19.1-1nodesource.x86_64 (nodesource-nodejs) 需要:glibc >= 2.28 已安装: glibc-2.17-326.el7_9.3.x86_64 (@updates) glibc = 2.17-326.el7_9.3 可用: glibc-2.17-317.el7.i686 (os) glibc = 2.17-317.el7 可用: glibc-2.17-322.el7_9.i686 (updates) glibc = 2.17-322.el7_9 可用: glibc-2.17-323.el7_9.i686 (updates) glibc = 2.17-323.el7_9 可用: glibc-2.17-324.el7_9.i686 (updates) glibc = 2.17-324.el7_9 可用: glibc-2.17-325.el7_9.i686 (updates) glibc = 2.17-325.el7_9 可用: glibc-2.17-326.el7_9.i686 (updates) glibc = 2.17-326.el7_9 错误:软件包:2:nodejs-20.19.1-1nodesource.x86_64 (nodesource-nodejs) 需要:libm.so.6(GLIBC_2.27)(64bit) 错误:软件包:2:nodejs-20.19.1-1nodesource.x86_64 (nodesource-nodejs) 需要:libstdc++.so.6(CXXABI_1.3.9)(64bit) 错误:软件包:2:nodejs-20.19.1-1nodesource.x86_64 (nodesource-nodejs) 需要:libc.so.6(GLIBC_2.28)(64bit) 错误:软件包:2:nodejs-20.19.1-1nodesource.x86_64 (nodesource-nodejs) 需要:libstdc++.so.6(GLIBCXX_3.4.21)(64bit) 您可以尝试添加 --skip-broken 选项来解决该问题 ** 发现 1 个已存在的 RPM 数据库问题, 'yum check' 输出如下: mpi-selector-1.0.3-1.54310.x86_64 是 mpi-selector-1.0.3-1.51258.x86_64 的副本 [root@VM-16-7-centos UnblockNeteaseMusic]# node -v # 验证版本应≥v20.12.2 v16.20.2 [root@VM-16-7-centos UnblockNeteaseMusic]# # CentOS证书默认路径 [root@VM-16-7-centos UnblockNeteaseMusic]# export NODE_EXTRA_CA_CERTS=/etc/pki/tls/certs/ca-bundle.crt [root@VM-16-7-centos UnblockNeteaseMusic]# # 永久生效则写入~/.bashrc [root@VM-16-7-centos UnblockNeteaseMusic]# echo 'export NODE_EXTRA_CA_CERTS=/etc/pki/tls/certs/ca-bundle.crt' >> ~/.bashrc [root@VM-16-7-centos UnblockNeteaseMusic]# npm install --verbose fuse.js # 观察下载源是否为npmmirror.com -bash: npm: 未找到命令 [root@VM-16-7-centos UnblockNeteaseMusic]# curl -I https://registry.npmmirror.com # 检查返回200状态码

张一库
  • 粉丝: 46
上传资源 快速赚钱