Як ви можете бачити нижче, %AppData%npm
додано до змінної шляху до системи. Я також спробував додати його до змінної User Path. Файл grunt.cmd
існує в каталозі, але працює тільки, якщо я вказав його абсолютним шляхом. AKA, шлях не працює.
C:UsersTeamCity>echo %path%
%AppData%npm;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:Windows
System32WindowsPowerShellv1.0;c:Program Files (x86)Microsoft SQL Server10
0ToolsBinn;c:Program FilesMicrosoft SQL Server100ToolsBinn;c:Program F
ilesMicrosoft SQL Server100DTSBinn;c:Program Files (x86)Microsoft SQL Ser
ver100ToolsBinnVSShellCommon7IDE;c:Program Files (x86)Microsoft SQL Ser
ver100DTSBinn;C:Program FilesMicrosoftWeb Platform Installer;C:Program
Filesnodejs
C:UsersTeamCity>dir %appdata%npm
Volume in drive C has no label.
Volume Serial Number is B845-1135
Directory of C:UsersTeamCityAppDataRoamingnpm
05/29/2013 03:14 AM <DIR> .
05/29/2013 03:14 AM <DIR> ..
05/29/2013 03:14 AM 298 grunt
05/29/2013 03:14 AM 159 grunt.cmd
05/29/2013 03:13 AM <DIR> node_modules
2 File(s) 457 bytes
3 Dir(s) 23,690,498,048 bytes free
C:UsersTeamCity>grunt
"grunt" is not recognized as an internal or external command,
operable program or batch file.
C:UsersTeamCity>%appdata%npmgrunt
grunt-cli: The grunt command line interface. (v0.1.9)
Запуск від:
- Центр обробки даних Windows Server 2008 R2
- Пакет оновлення 1
- 64-розрядний
Відповіді:
2 для відповіді № 1Я не думаю, що ви можете відкласти розширення змінної на шляху.
Фактично, ви мусите попрацювати дійсно тяжкий отримати що у тому що %AppData%
оскільки потрібно зробити щось подібне:
path=^%AppData^%npm;%path%
Якщо ви просто використовуєте:
path=%AppData%npm;%path%
Ви знайдете фактичний шлях, який буде замінений, щоб шлях ставав:
C:UsersTeamCityAppDataRoamingnpm;C:Windowssystem32; ...
0 для відповіді № 2
Цікаво, що останнє зусилля "вимкнення і знову" спрацювало. Крім того, можна скопіювати весь шлях після його додавання та ввести в cmd:
> SET PATH=
і вставте свій шлях.