10

私はWindows7ボックスを使用しており、最近NodeJS.orgから最新バージョンのNodeをインストールしました。

それから私は走った...

C:\Users\jcreamer>npm install -g uglify-js  
npm http GET https://registry.npmjs.org/uglify-js  
npm http 304 https://registry.npmjs.org/uglify-js  
C:\Users\jcreamer\AppData\Roaming\npm\uglifyjs -> C:\Users\jcreamer\AppData\Roaming\npm\node_modules\uglify-js\bin\uglifyjs   
uglify-js@1.2.3 C:\Users\jcreamer\AppData\Roaming\npm\node_modules\uglify-js

コマンドプロンプトを再起動しましたが、まだ実行できません...

cd c:\inetpub\wwwroot\app\  
node uglifyjs -o app.min.js app.js  

このエラーが発生します...

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick  
              ^  
Error: Cannot find module 'C:\Inetpub\wwwroot\analytics\uglifyjs'  
    at Function._resolveFilename (module.js:334:11)  
    at Function._load (module.js:279:25)  
    at Array.0 (module.js:470:10)  
    at EventEmitter._tickCallback (node.js:192:40)  

他にやらなければならないことはありますか?

UPDATE
npmをadministartorとして実行した後でも、実行すると

C:\Users\jcreamer>uglifyjs

わかった...

C:\Users\jcreamer>"C:\Users\jcreamer\AppData\Roaming\npm\\.\node_modules\uglify-js\bin\uglifyjs"
'"C:\Users\jcreamer\AppData\Roaming\npm\\.\node_modules\uglify-js\bin\uglifyjs"' is not recognized as an internal or external comm
and,
operable program or batch file.
4

3 に答える 3

12

Windowsを使用している場合は、次のコマンドを使用します

npm -g install uglify-js

-gフラグは、これがグローバルインストールであり、envパスを設定することを示します。

私のために働いています。それがあなたのためにも働いているかどうか私に知らせてください。

于 2013-02-03T19:50:29.100 に答える
8

グローバルインストールは、コマンドラインユーティリティ用です。

ご覧のとおり、uglifyjsコマンドラインユーティリティがパスにドロップされています(出力に表示されているようにC:\Users\jcreamer\AppData\Roaming\npm\uglifyjs、これはuglifyへのリンクです)。bin\uglifyjs

@alessioalexグローバルパッケージをインストールするために管理パッケージは不要になりました。ノードMSIインストーラーは、グローバルデフォルトプレフィックスを%APPDATA%\npmに設定するため、ユーザーはそれに書き込むことができます。

ノードプログラムに入れようとしている場合はrequire("uglify-js")、-gを使用せずに、ローカルにインストールする必要があります。スタンドアロンのutilとして使用しようとしているように見えるので、alessioalexの#2の提案は正確に正しいです。uglifyjs使用するために入力するだけで、ではありませんnode uglifyjs

于 2012-01-05T15:59:25.893 に答える
0

あなたは2つのことをすることができます:

  1. このようなグローバルパッケージをインストールするときは、管理者権限でコマンドプロンプトを実行します(右クリック->管理者として実行)。

  2. 直接node uglifyjs...使用する代わりに。uglifyjsグローバルにインストールされているので、ノードを前にして呼び出す必要はありません。それは意味がありません。

于 2012-01-05T15:36:11.180 に答える