Я пытаюсь установить ionic в Windows, но по какой-то причине не могу. Когда я запускаю «npm install», все выглядит нормально, никаких ошибок, ничего странного не происходит, однако, когда я пытаюсь запустить «ionic start» (или любую ионную команду, даже только ionic-версию), оболочка сообщает, что «ionic не распознается. как внутренняя или внешняя команда ».
Я все перепробовал, но очевидно, что все еще что-то делаю не так. Я попытался удалить / переустановить / обновить все, что мог, поэтому я почти уверен, что Nodejs и npm в порядке.
Из того, что я читал в Интернете, я обнаружил, что такая ошибка возникает, когда переменные среды перепутаны, однако я точно не знаю, что мне следует там изменить. Я следил за многими руководствами и учебными пособиями: некоторые из них говорили, что PATH к npm должен находиться в разделе «Роуминг», другие говорили, что PATH должен быть в разделе «Локальный», некоторые говорили, что он должен быть в «Программных файлах», а другие сказал, что важен порядок, в котором вы пишете переменные PATH.
Некоторые просто сказали переустановить узел, и после этого все должно быть в порядке, но ни одно из этих предложений не сработало.
Может кто-нибудь помочь мне? Какие переменные среды мне нужно ввести, чтобы это работало?
Стоит ли удалить узел и начать с нуля? Если да, то где мне установить узел, чтобы в дальнейшем у меня не было проблем со странными путями?
Если вам нужна дополнительная информация по проблеме, сообщите об этом. Заранее спасибо за ваше время
Да, именно так я и сделал
Можете попробовать выполнить эту команду на cmd? %appdata%\npm\ionic -v
Когда я выполняю команду, отображается полный путь к 'npm \ ionic', а затем говорится то же самое: «ionic не распознается как внутренняя или внешняя команда»
Похоже, он не установлен в папку npm по умолчанию. Вот эта команда, которая показывает вам корневую глобальную папку npm, вы можете запустить npm root -g, чтобы проверить, где npm устанавливает ваши пакеты, и добавить этот путь в переменную среды PATH.
Он говорит, что находится в AppData \ Local \ node_modules. Понятия не имею почему. Так что мне просто нужно добавить это как новую строку внутри переменной PATH?
Это именно то, что вам нужно сделать.





После того, как вы установите переменную PATH, вам необходимо перезагрузить компьютер.
Да, я перезапускал после каждого изменения переменной PATH, но это никогда не работало. Я, наверное, просто неправильно пишу в переменных PATH
Похоже, ваши пакеты npm не устанавливаются в папку npm по умолчанию (%appdata%\npm). Вот эта команда, которая показывает вам корневую глобальную папку npm, вы можете запустить npm root -g, чтобы проверить, где npm устанавливает пакеты, и добавить этот путь в переменную среды PATH.
Сначала запустите следующую команду:
C:\> npm root -g
Это даст вам такой путь:
C:\my\actual\path\node_modules
Возьмите путь без node_modules (C:\my\actual\path\), а затем добавьте его в переменную среды PATH.
Warning: don't forget to remove the
node_modulesfrom the path it gave you.
Я пробовал это, но, к сожалению, ничего не изменилось. На всякий случай мне нужно добавить это только в «Системные переменные»? Или мне тоже нужно добавить его во вкладку «Пользовательские переменные»? Кроме того, может ли путь к nodejs иметь какое-либо отношение к этой проблеме?
Мой зарегистрирован под пользовательскими переменными, но это не должно быть проблемой. Кроме того, путь к узлу не должен быть проблемой, пока он виден (объявлен в PATH). Можете ли вы перейти по пути, который вы нашли на npm root -g, и проверить, есть ли там файлы ionic и cordova?
@DarioFerretti Я забыл добавить наблюдение, вы удалили node_modules с пути?
На пути, который я нашел от «корня npm», есть 3 папки: ionic, cordova и npm. Я не удалял node_modules из пути, так что это может быть причиной. Я попробую сейчас
Ладно, похоже, на этот раз я все сделал правильно. Ionic теперь работает правильно, и я смог запустить шаблонный проект. Я не знаю, столкнусь ли я с другими подобными проблемами, но теперь, по крайней мере, я знаю, как их исправить. Спасибо за помощь, вы спасаете жизнь!
Могу я предположить, что вы установили с помощью флага
-g, чтобы установить его глобально? Нравитсяnpm install -g ionic cordova?