2013-12-21 6 views
10

OpenShiftにコードをプッシュすると、と表示され、と表示されます。私は実際にそれを設定することが大好きですので、dependencies--productionフラグを付けて実行する)だけをインストールします。これを行う方法はありますか?OpenShiftでnpm install --productionを実行してください

答えて

16

--productionフラグを使用してインストールするには、NPM_CONFIG_PRODUCTION環境変数を "true"に設定してください。ここで

は、既存のアプリケーションのために働く必要が例です。

rhc env set NPM_CONFIG_PRODUCTION="true" 

それとも、あなたはあなたの最初のアプリ作成ステップの一部として、この変数を設定することができます。

rhc app create myapplication nodejs-0.10 NPM_CONFIG_PRODUCTION="true" 
+0

これは新しいですか?私はこれをどこにも見たことがない... – kentcdodds

+0

Openshiftの文書に記載されています(https://developers.openshift.com/en/node-j.s-environment-variables.html)。 さらに、それは動作します! –

+0

コマンドのオプション形式で 'rhc app create -a myapplication -t nodejs-0.10 --env NPM_CONFIG_PRODUCTION =" true "'となります。 –

2

唯一の解決策は、カートリッジ自体を更新することです。 npm installコマンドは、カートリッジのbin/controlフォルダにあります。一方、originating github repo at wshearn/openshift-origin-cartridge-nodejsでは修正されているので、クイックスタートを使用するのではなくgithubからインストールすることができます。

+0

おかげにインストールされていないことを保証しません。私はgithub repoでそのコマンドがどこに起こるかを見ています。残念ながら、クイックスタートを使用してインストールしましたが、bin/controlファイルはありません。クイックスタートでどこに変更を加えることができるのかわからないのですか? – kentcdodds

+0

私はそれが公式のレポだとは分かりません。 RHcloud.comで現在使用されているコードはhttps://github.com/openshift/origin-server/tree/master/cartridges/openshift-origin-cartridge-nodejsです。 [NODE_ENV = productionを設定しようとする](https://github.com/openshift/origin-server/commit/97124748e41d01ace67df931908755f84ecfdbae)しかし、私はdevDependenciesがインストールされているのを見ています。 –

3

は方法を見つけましたアプリの作成中ではなくソースで指定することができます。 env varのメリット(私にとっては)は、「Launch on OpenShift」ボタンを含め、アプリを起動するすべての方法に適用されるということです。

#!/bin/bash 
# This makes npm not install devDependencies. 
echo 'Enabling npm production' 
echo 'production = true' >> $OPENSHIFT_REPO_DIR/.npmrc 

それだ:

.openshift/action_hooks/pre_buildファイルを作成します!私はテストしたが、このビルドではnpmに影響し、将来このフックを削除すると.npmrcが消える。

(もちろん、私は単に私のレポに.npmrcを追加することによって、これを達成できましたが、はないが、それはOpenShift上でのみ動作どのように、人々はソースをチェックアウトし、npm installを実行している影響を与えたいです。)

2
  1. node_modulesフォルダーがある.npmrcファイルを作成します。

  2. あなたtext-editorでそれを開き、それにこれを追加します。

    production = true

P.S.を何のセミコロンまたはその他の文字

これはdevDependenciesは、先端ジョンOPENSHIFTサーバー

関連する問題