npm install:指定package.json?

时间:2015-11-20 12:33:45

标签: node.js npm

如何在运行" npm install"时告诉npm使用另一个package.json? ?

我需要的只是npm install -f packages-win32.json或者是否有一种技巧或其他方法来实现同样的目标?

因为并非所有npm模块都是跨平台的,我希望每个平台都使用其他软件包。

2 个答案:

答案 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