1

expressmochaなどのパッケージに似たNode.jsを使用してシェルスクリプトを作成しようとしています。最初のテストでコマンドが見つからなかったことが報告されたため、スクリプトを次のようにバックアップしました。

#!/usr/bin/env node

console.log("printing stuff");

上記は、実行時に「印刷物」を出力するだけです。ただし、それも機能しません。

./scriptパスの問題ではないことを確認するために、ファイルのディレクトリでスクリプトを実行しようとしています。特権状態(つまりsudo)で実行しようとすると、同じ結果/エラーメッセージが表示されます。

私が何をする必要があるか考えていますか?

4

2 に答える 2

2

あなたがシバン(#!)をするとき/usr/bin/env node、あなたは「私のPATHでノードと呼ばれるプログラムを探してください」と言っています。@Ryanが言うように、うまくいくならnode -v、シェバンはうまくいくはずです。シェルエイリアスまたはシェル関数という名前のシェルがある可能性はありますnodeか?それはあなたにあなたのPATHが正しくないときでさえあなたのPATHが正しいという幻想をあなたに与えるかもしれません。ただし、基本的には、nodeバイナリが存在するディレクトリ(binノードインストールの下のディレクトリ)がPATH環境変数上にあることを確認してください。そうすれば、その時点で実際に機能するはずです。

export PATH=/usr/local/node/bin:$PATH
于 2012-06-26T18:06:46.373 に答える
2

私の問題を理解しました。シェルスクリプトを作成しましたが、ファイルに実行権限を設定するのを忘れました。問題を解決しchmod a+x scriptました。

于 2012-06-26T18:10:29.833 に答える