package.json
のスクリプトブロックを使用して、postinstall.sh
スクリプトをyarn install
とyarn install --production
の直後に呼び出しています。ノード/ NPM:.shファイル呼び出しで引数を渡す方法
postinstall.sh
は、いくつかのプライベートnpm
パッケージが含まれているので、私たちは環境が開発され、我々は環境が生産ときに無視したい場合にのみ、それらのパッケージのdevDependencies
をダウンロードしたいです。
package.json
"private": true,
"scripts": {
"postinstall": "./postinstall.sh"
}
上記のスクリプトでの問題は、我々はすべてのユーザーとの対話をしたくないので、私はどのように渡すことができ
# Get the input from user to check server is Production or not
echo
echo "INFO: We are not downloading Development dependencies of following services in Production environment:
echo "WARN: please enter 'yes' or 'no' only."
while [[ "$PRODUCTION_ENV" != "yes" && "$PRODUCTION_ENV" != "no" ]]
do
read -p "Is this Production environment?(yes/no): " PRODUCTION_ENV
done
if [[ "$PRODUCTION_ENV" == "yes" ]]; then
ENV='--only=production'
fi
npm install $ENV --ignore-scripts pkg-name
postinstall.sh環境によってはpackage.json
からの議論? package.jsonで
このようにしてみました。私たちの場合、両方の環境でpostinstall.shを実行したいので動作しません。 –