如何在运行" npm install"时告诉npm使用另一个package.json? ?
我需要的只是npm install -f packages-win32.json
或者是否有一种技巧或其他方法来实现同样的目标?
因为并非所有npm模块都是跨平台的,我希望每个平台都使用其他软件包。
答案 0 :(得分:2)
您无法指定其他package.json
文件,因为规格仅适用于名为package.json
的文件。
如果你遇到一些只能在os上运行的软件包的问题,请尝试使用
try {
thing = require('thing');
}
catch( error ) {
thing = require('other');
}
您还可以通过以下方式嗅出操作系统:
const _isWin = /^win/.test( process.platform );
如果您不必支持节点< = 5 ...
,请使用os.platform()
也许这有帮助?
答案 1 :(得分:0)
npm
命令不允许指定特定的package.json文件,但这是安装特定或所有package.json文件的解决方法:
使用以下源代码创建npm-install.sh
文件,并使用以下命令运行:
source npm-install.sh
或:
bash npm-install.sh
#!/bin/bash
set +ex;
cp -f package.json temp;
echo "Installing all package-*.json...";
for File in *.json; do
echo -e "\nFile: $File";
mv -f $File package.json;
npm install;
done
cp -f temp package.json;
rm -f temp;
#EOF