0

ローカル マシンで完全に動作する Node.js で Web サイトを開発しました。次のコマンドでサーバーを実行します。

$ grunt serve

問題は、オンライン サーバー (gandi サーバー) で Web アプリケーションを実行するときです。コマンドが使えない

$ grunt serve

パッケージ '' grunt-cli ''wich をインストールする必要があるため:

$ npm install -g grunt-cli

サーバー Gandi.net で、グローバル パッケージをインストールできないため、コマンドを使用しません。

$ grunt

私は次のようなプログラムを試します

var grunt = require('grunt');

grunt.task.run("serve");

プログラムが実行されません。

grunt -cli なしで grunt タスク '' serve '' を実行するためのヘルプが必要です

4

1 に答える 1

1

オプション 0

gruntはビルド ツールであり、通常、ローカル テスト サーバー以外のサーバーを実行するためには使用されません。したがって、最善の解決策は、おそらくの代わりにpm2orforeverまたは何か他のものを使用してサーバーを起動して実行することですgrunt

gruntサーバー上で実行する必要がある場合は、いくつかのオプションがあります。

オプション 1 は、システムへの影響が最も少ない方法ですが、うまくやってのけるには、あなたの側で最大限の理解が必要になる場合があります。grunt具体的には、それが非グローバル パスにあることに気付いた場合に、どれだけの悲しみが生じるかはわかりません。

オプション 1 はスーパーユーザー権限を必要としないことに注意してください。

オプション1

ホーム ディレクトリのシェルから、.xml ファイルgrunt-cliなしでインストールできます-g。次に、シェル エイリアスまたはPATH環境変数を使用して、から grunt を実行します~/node_modules/.bin/grunt

オプション 2

スーパーユーザー権限を持っている場合は、グローバルnode_modulesディレクトリのアクセス許可を変更して、書き込みアクセス権を持つようにします。

セキュリティ上の理由から、次のオプションよりもこれを推奨する人もいますが、ほとんどの人はおそらくすぐに...

オプション 3

サーバーで許可されている場合は、 を使用できますsudo npm install -g grunt-cli

オプション 3 は最も簡単ですが、インストールするパッケージに最大限の信頼が必要です。でインストールを開始すると、パッケージは何でも実行できるため、sudo検査および/または信頼するパッケージに対してのみこのオプションを使用してください。

于 2015-05-24T20:51:32.217 に答える