gpt4 book ai didi

node.js - 有条件地包含依赖 package.json

转载 作者:搜寻专家 更新时间:2023-10-31 22:56:24 25 4
gpt4 key购买 nike

我有一个 npm 项目中只有 Mac OS 需要的依赖项,我想知道是否有某种方法可以仅在兼容平台是运行 npm install 的平台时有条件地包含此依赖项。

我愿意为此编写逻辑。在下面的例子中,grunt-appdmg 导致 npm 安装过程出错(出于相当明显的原因):

'/dev/cuttle/node_modules/grunt-appdmg/node_modules/appdmg/node_modules/ds-store/node_modules/macos-alias/build'
CXX(target) Release/obj.target/volume/src/volume.o
../src/volume.cc:9:2: error: #error This platform is not implemented yet
#error This platform is not implemented yet

包.json

{
"name": "Cuttle",
"homepage": "https://github.com/oakmac/cuttle",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/oakmac/cuttle.git"
},
"dependencies": {
"fs-extra": "0.16.3",
"open": "0.0.5",
"winston": "0.8.3"
},
"devDependencies": {
"grunt": "0.4.5",
"grunt-contrib-less": "0.11.4",
"grunt-contrib-watch": "0.6.1",
"grunt-curl": "2.0.3",
"grunt-download-atom-shell": "0.10.0",
"grunt-appdmg": "0.2.0",
"winresourcer": "0.9.0",
"moment": "2.9.0",
"shelljs": "0.3.0"
}
}

最佳答案

您可以使用可选的依赖项。

在你的 package.json 中像这样:

"optionalDependencies":{
"grunt-appdmg":"0.2.0"
}

有关 NPM documentation 的更多信息

如果失败,

npm install 将跳过它。

关于node.js - 有条件地包含依赖 package.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28710232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com