grunt
を使用して github jquery-ui library をビルドしようとしていますが、npm install
を実行した後、 readme file に従ってコマンドを実行できません。 No command 'grunt' found
を与えるだけです:
james@ubuntu:~/Documents/projects/ad2/lib/jquery-ui$ grunt build
No command 'grunt' found, did you mean:
Command 'grun' from package 'grun' (universe)
grunt: command not found
james@ubuntu:~/Documents/projects/ad2/lib/jquery-ui$ npm ls
[email protected] /home/james/Documents/projects/ad2/lib/jquery-ui
├─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ └─┬ [email protected]
│ │ └── [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ └─┬ [email protected]
│ │ └── [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ └─┬ [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ └── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ └─┬ [email protected]
│ │ ├── [email protected]
│ │ ├─┬ [email protected]
│ │ │ └── [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └── [email protected]
├── [email protected]
├─┬ [email protected]
│ ├── [email protected]
│ └── [email protected]
├── [email protected]
├── [email protected]
├─┬ [email protected]
│ └── [email protected]
└─┬ [email protected]
└── [email protected]
私は混乱しています、私は何が欠けていますか?
コマンドラインツールは、Gruntの最新バージョン(執筆時点では0.4)には含まれていませんが、個別にインストールする必要があります。
これは、異なるプロジェクトで異なるバージョンのGruntを実行しながら、Niceの簡潔なgrunt
コマンドを使用して実行できることを意味するため、良いアイデアです。
したがって、まずgrunt cliツールをグローバルにインストールします。
npm install -g grunt-cli
(または場合によってはSudo npm install -g grunt-cli
)。
grunt --version
と入力することで動作することを確認できます
これで、プロジェクトにローカルなGruntの現在のバージョンをインストールできます。あなたのプロジェクトの場所から...
npm install grunt --save-dev
save-dev
スイッチは厳密には必要ではありませんが、package.json devDependenciesセクションで開発専用モジュールとしてgruntをマークするため、良いアイデアです。
/usr/local/share/npm/bin/
を$PATH
に追加します
npm install -g grunt
を実行してGruntパッケージをインストールしたが、まだNo command 'grunt' found
またはgrunt: command not found
と表示されている場合、これをすばやく簡単に実行するには、ノードバイナリを手動で$ PATHにリンクします。
MacOSX/Linuxでは、この行を~/.bash_profile
または~/.bashrc
ファイルに追加できます。
PATH=$PATH:/usr/local/Cellar/node/HEAD/bin # Add NPM binaries
おそらく/usr/local/Cellar/node/HEAD/bin
を、ノードバイナリが見つかったパスで置き換える必要があります。
これが速くて汚いの場合、これを行わなくてもすべてが機能するはずですが、不明な理由でリンクが壊れているようです。 IRCの誰も私にこれが起こった理由を教えてくれなかったので、私はそれを(うなり声で)動作させる独自の方法を見つけました。
PS:これはあなたがうなり声の作品を作るのに役立つはずです、この答えはjquery-ui関連ではありません。
更新02/2013:ご覧ください- @ tom-p's answer これは何が起こっているかをより良く説明しています。トムは、bashrcファイルをハッキングする代わりに実際のソリューションを提供します。両方とも機能するはずですが、最初にgrunt-cli
をインストールしてみてください。
私の場合、1行目の/ usr/local/bin/gruntファイルを変更する必要があります(これを行わないでください):
#!/usr/bin/env node //remove this line
#!/usr/bin/env nodejs // and put this line to run with nodejs
編集済み:
問題を回避するために、他の多くのプログラムがまだ「node」コマンドを使用しているため、「node」という名前のリンクを作成しました。
Sudo ln -s /usr/bin/nodejs /usr/sbin/node
WIN7では、npmフォルダー(とらえどころのない "grunt"ファイルを含む)へのパスをWindows PATH環境変数に手動で追加する必要がありました。
私の場合、それはC:\Users\mhaagsma\AppData\Roaming\npm
でした
グローバルに何も追加せずに、Windowsでイサキを実行する方法がもう1つあります。これは、%PATH%で何もする必要がない場合です。
gruntとgrunt-cliがインストールされている場合(-gスイッチなし)。次のいずれかによって:
npm install grunt-cli
npm install [email protected]
または、packages.jsonファイルで次のようにすることで:
"devDependencies": {
"grunt-cli": "^1.2.0",
"grunt": "^0.4.5",
ローカルインストールからgruntを呼び出すには:
node node_modules\grunt-cli\bin\grunt --version
これは、何らかの理由でPATHを使用したくない、または使用できない、または常に他の何かがそれを台無しにしている人、たとえばビルドエージェントの場合のソリューションです。
編集:grunt-cliがgrunt> 0.3で動作するようにバージョンを追加
Gruntをインストールする正しい方法は、次のコマンドを実行することです。
npm install grunt -g
(EACCESSエラーメッセージが表示された場合は、上記のコマンドに「Sudo」を追加してください)
-gはnpmにパッケージをグローバルにインストールさせるため、現在のマシンでいつでも使用できます。
Windowsでは、謎の一部はnpmがGrunt.cmdファイルをインストールする場所にあるように見えます。 LinuxボックスでSudo npm install -g grunt-cliを実行する必要がありましたが、Windows 8の作業用ラップトップでは、Gruntが '.npm-global'ディレクトリに配置されました:%USER_HOME%\。npm-globalおよびIそれをパスに追加する必要がありました。
Windowsでの私の手順は次のとおりです。
npm install -g grunt-cli
grunt.cmdがどこにあったかを把握します(一部の場合は%USER_HOME%\ App_Data\Roamingにあると思います)。
Path環境変数に場所を追加しました。新しいcmdプロンプトを開き、gruntコマンドは問題なく実行されました。
時々、npm install package_name -g
が動作する必要があります。
他の解決策は、私が使用した私の場合、ubuntu bundlerを削除することです:
Sudo apt-get remove Ruby-bundler
それは私のために働いた。
こんにちは、Macでこの問題が発生しました。
グローバルにインストールされ、グローバルパスのプレフィックス
Sudo npm install grunt -g --prefix=/usr/local
今$ which grunt
/usr/local/bin/grunt
を出力する必要があります
乾杯