一些节点模块有特定的平台安装要求。例如,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/