2016-10-05 5 views
0

package.jsonのノードbinオブジェクトを使用してノードコマンドを作成していますが、Microsoft JavaScriptの実行時間のために実行できません。ノードjsリンクコマンド実行エラー

{ 
"name": "test", 
"version": "1.0.0", 
"description": "", 
    "main": "index.js", 
"scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
bin":{ 
"runMy":"index.js" 
}, 
"author": "", 
"license": "ISC" 
} 

index.jsファイルははconsole.log(「はっぴ」)を有するノード環境を指すようにどのように..

私は、グローバルコマンドをリンクするために、「リンク」コマンドにNPMリンクコマンドを使用。

は、私はあなたが問題を解決することがありいくつかのことを試すことができます enter image description here

enter image description here

+0

[以下の私の記事](http://stackoverflow.com/questions/39879702/node-js-link-commands-running-error/39880730#39880730)は、あなたの質問にお答えしましたか?それがあった場合、あなたは[回答を受け入れる]と考えるかもしれません(http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)。この問題は、あなたの質問にあなたが受け入れた良い答えがないことが分かります。それがあなたの質問に答えなかったなら、何が欠けているかについてコメントしてください。私は古い回答に目を通しており、改善が必要な場合は更新したいと考えています。ありがとう。 – rsp

答えて

1

マイクロソフトエラー次取得しています「runMy」コマンドを実行していた場合。私はそれをテストするには、Windowsを持っているが、ここであなたが試すことができます何しません。

まず、スクリプトの最初の行としてシェバング行を追加してください:

#!/usr/bin/env node 

ので、スクリプトは次のようになります

#!/usr/bin/env node 
console.log("Happi"); 

シバンラインの前にスペースや何もないことに注意してください。「#」ハッシュ文字はファイルの最初の文字です。

その行がWindowsシステムで使用されていない - それはUnixライクなシステムで使用されている - しかし、それはその行を見たときにノードのCMD-シムは、Windows上で正しいラッパーをインストールする必要があります。

npm linkが実行されているか、cmd-shimを有効にするためにそのモジュールをインストールするのにnpm install ...が実行されているかどうかわかりません。

"runMy": "index.js" 

に:これはpackage.jsonで "スクリプト" セクションで動作するはず

"runMy": "node index.js" 

あなたが試すこと

他の事は変更することです。それが "bin"セクションでうまくいくかどうかはわかりません。

あり、手動でスクリプトをラップさせてくださいラップ-cmdのモジュールでもある、https://www.npmjs.com/package/wrap-cmd

そして最後を参照してください、あなたはあなたのスクリプトをノード」を実行してしまう自分自身の.CMDまたは.BATファイルを書き込むことができます。 js "と表示されます。 example.batファイルは、次のようになります。

@echo off 
node c:\path\to\your_program.js 

PATHにノードがある限り動作します。

関連する問題