javascript - 有什么方法可以知道 npm 包是否具有特定于操作系统的构建要求?

标签 javascript npm platform-specific

一些节点模块有特定的平台安装要求。例如,node-sass不能在 mac 上构建并在 windows 或 linux 上使用。它可以在 windows 上运行,但前提是你在 windows 上构建它。由于其 node-gyp 依赖性,它必须专门构建在您打算运行它的平台上。

而 lodash 没有这样的复杂性。

除了阅读每个包的文档/手动试验之外,是否有任何(理想情况下,自动或编程)方式来了解哪些包像 node-sass 一样工作,哪些包像 lodash 一样工作?

我想将我的 node_modules 目录挂载到 docker 容器,但我想在主机本地安装我的节点模块。这不适用于任何模块,例如 node-sass。

最佳答案

package.json 文件应该使用os 属性指定包具有的任何操作系统限制,例如"os": [ "darwin", "linux"] 甚至 "os": [ "!win32"]

话虽如此,没有真正的方法强制使用此属性,包作者可以忽略(或忘记!)在 包中指定 os 属性。 json 文件,但仍然编写一个只能在特定操作系统上运行的包。

关于javascript - 有什么方法可以知道 npm 包是否具有特定于操作系统的构建要求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56690777/

相关文章:

javascript - 将 Angular 4 应用程序转换为 PWA

node.js - 在 ec2 上安装 npm 返回 127 错误

javascript - 在 Cordova 获取设备高度

javascript - 参数是否会使 JavaScript GC 无法收集对象?

node.js - 使用 PORT=XXXX 启动 Node 永久脚本

node.js - 如何在 Node 应用程序中使用@types/node

C#/Mac : Path. GetInvalidPathChars() 和 Path.GetInvalidFileNameChars() 结果

c++ - 用于在 C++ 中管理平台特定代码的内联命名空间技术

android - 如何使用 Apache Cordova 中所需的最低 Android 版本构建应用程序

javascript - 在服务器端模板引擎上使用 React 或 Vue