UglifyJS с использованием NPM в Windows

Я нахожусь в окне Windows 7, и я недавно установил самую последнюю версию узла из NodeJS.org

затем я побежал...

C:Usersjcreamer>npm install -g uglify-js  
npm http GET https://registry.npmjs.org/uglify-js  
npm http 304 https://registry.npmjs.org/uglify-js  
C:UsersjcreamerAppDataRoamingnpmuglifyjs -> C:UsersjcreamerAppDataRoamingnpmnode_modulesuglify-jsbinuglifyjs   
uglify-js@1.2.3 C:UsersjcreamerAppDataRoamingnpmnode_modulesuglify-js

и перезапустил командную строку, но я все еще не могу запустить...

cd c:inetpubwwwrootapp  
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:Inetpubwwwrootanalyticsuglifyjs'  
    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)  

есть что-то еще мне нужно сделать?

обновление
Даже после того, как я запустил npm как administartor, если я запускаю

C:Usersjcreamer>uglifyjs

Я вам...

C:Usersjcreamer>"C:UsersjcreamerAppDataRoamingnpm.node_modulesuglify-jsbinuglifyjs"
'"C:UsersjcreamerAppDataRoamingnpm.node_modulesuglify-jsbinuglifyjs"' is not recognized as an internal or external comm
and,
operable program or batch file.

3 ответов


глобальные установки предназначены для утилит командной строки.

Как видите,uglifyjs утилита командной строки падает на ваш путь, в C:\Users\jcreamer\AppData\Roaming\npm\uglifyjs (который является связующим звеном, чтобы уродовать это bin\uglifyjs Как вы можете видеть на выходе.)

@alessioalex вам больше не нужны пакеты администратора для установки глобального пакета. Установщик MSI узла устанавливает глобальный префикс по умолчанию %APPDATA%\npm, Так что пользователи имеют возможность писать.

если ты хочешь require("uglify-js") в свой узел программа, то вы должны установить его локально, а не с-g. Похоже, вы пытаетесь использовать его как автономный util, поэтому предложение №2 alessioalex совершенно верно. Просто введите uglifyjs использовать его, а не node uglifyjs.


Если у вас Windows, то используйте следующую команду

npm -g install uglify-js

на -g флаг указывает, что это глобальная установка и установит путь env.

работает для меня. Дайте мне знать, если это работает для вас также.


Вы можете сделать две вещи:

  1. Запустите командную строку с правами администратора при установке глобального пакета, подобного этому (щелкните правой кнопкой мыши -> Запуск от имени администратора).

  2. вместо node uglifyjs... использовать uglifyjs напрямую. Поскольку он установлен глобально, вам не нужно вызывать его с узлом спереди, это не имеет смысла.