javascript - 有什么方法可以知道 npm 包是否具有特定于操作系统的构建要求?
问题描述
一些节点模块有特定的平台安装要求。比如node-sass:https ://www.npmjs.com/package/node-sass#install不能在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
在文件中指定属性,package.json
但仍然编写一个只能在特定操作系统上运行的包。
推荐阅读
- git - 单个 sonarQube 项目可以链接到多个 git 存储库吗?
- javascript - React Router:允许服务器处理路径
- powershell - 除非 Puppet 有问题
- python - Python - 如何创建变量分配图?
- python - Postgres 时间戳不接受 2017-01-01T23:00:00-00:00
- java - 如何在 Java 中搜索特定单词的标记?
- datatables - 如何根据数据表中的值更改单元格的颜色
- css - CSS Grid Collapse / Auto Shrink Children
- python-3.x - Python 位求和算法
- python-3.x - glob.glob 打印返回未知字符块