UglifyJS с использованием NPM в Windows
Я нахожусь в окне Windows 7, и недавно я установил самую последнюю версию Node из NodeJS.org
Затем я побежал...
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
[email protected] 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 в качестве администратора, если я запустил
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.
Ответы
Ответ 1
Глобальные установки предназначены для утилит командной строки.
Как вы можете видеть, утилита командной строки uglifyjs
упала в ваш путь, на C:\Users\jcreamer\AppData\Roaming\npm\uglifyjs
(которая является ссылкой на uglify bin\uglifyjs
, как вы можете видеть на выходе.)
@alessioalex Вам больше не нужны пакеты администратора для установки глобального пакета. Установщик MSI node устанавливает глобальный префикс по умолчанию на %APPDATA%\npm
, поэтому пользователи могут писать на него.
Если вы пытаетесь выполнить require("uglify-js")
в своей программе node, вы должны установить ее локально, а не с -g. Похоже, вы пытаетесь использовать его как автономный, так что предложение alessioalex # 2 в точности соответствует действительности. Просто введите uglifyjs
, чтобы использовать его, а не node uglifyjs
.
Ответ 2
Если у вас Windows, то используйте следующую команду
npm -g install uglify-js
флаг -g
указывает, что это глобальная установка и установит путь env.
Работаю для меня. Дайте мне знать, если он работает для вас.
Ответ 3
Вы можете сделать две вещи:
-
Запустите командную строку с правами администратора при установке глобального пакета, подобного этому (щелкните правой кнопкой мыши → Запуск от имени администратора).
-
Вместо node uglifyjs...
используйте uglifyjs
напрямую. Поскольку он установлен глобально, вам не нужно называть его node спереди, это не имеет смысла.