nodemon не знайдено в npm


74

У мене проблема: nodemon не запускає скрипт npm (наприклад npm start),
але якщо nodemon викликається в командному рядку поза сценарієм npm, nodemon працює як зазвичай.

$ nodemon server.js
14 Feb 22:59:51 - [nodemon] v1.3.7
14 Feb 22:59:51 - [nodemon] to restart at any time, enter `rs`
14 Feb 22:59:51 - [nodemon] watching: *.*
14 Feb 22:59:51 - [nodemon] starting `node server.js`

Як це називається в сценарії npm:

package.json

{
...
  "scripts": {
    "start": "nodemon server.js"
  }
}

Коли запускається скрипт запуску npm:

$ npm start
> aaa@0.0.1 start /home/akul/Documents/aaa
> nodemon server.js

sh: 1: nodemon: not found

npm ERR! Linux 3.13.0-45-generic
npm ERR! argv "node" "/home/akul/npm-global/bin/npm" "start"
npm ERR! node v0.12.0
npm ERR! npm  v2.5.0
npm ERR! code ELIFECYCLE
npm ERR! aaa@0.0.1 start: `nodemon server.js`
npm ERR! Exit status 127
npm ERR! 
npm ERR! Failed at the aaa@0.0.1 start script 'nodemon server.js'.
npm ERR! This is most likely a problem with the aaa package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     nodemon server.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls aaa
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/akul/Documents/aaa/npm-debug.log

Я шукав рішення, але не знайшов.

Відповіді:


111

Ви можете вирішити цю проблему, додавши nodemonдо package.json:

npm install nodemon --save-dev

Проблема трапляється, коли nodemonне існує в /node_modules/.bin.

Додано, --save-devоскільки це потрібно лише під час розробки.


4
npm ПОПЕРЕДЖЕННЯ віддайте перевагу глобальному nodemon@1.3.7 слід встановлювати за допомогою -g, але тепер успішно, дякую, так nodemon, що в глобальному каталозі невикористаних: D
akul

1
Я теж отримав ту ж проблему. тепер вирішити цю команду - npm встановити nodemon --save
Bipon Biswas

7
Не встановлюйте nodemon з прапором --save, оскільки nodemon використовує лише для розробки. Використання -gабо --save-devпозначення
grey87

Один відповідь може бути це, в разі , якщо хто - то стикається з проблемою на Visual Studio Code IDE з використанням командного рядка WSL: stackoverflow.com/a/62639745/8119511
Ank_247shbm

40

Спробуйте перевірити встановлені глобальні пакети npm list -g --depth=0. Якщо ви не знайшли nodemon, - встановіть його з прапором -gабо --save-dev. Не встановлюйте nodemonз прапором --save, оскільки nodemonвикористовує лише для development.



Один відповідь може бути це, в разі , якщо хто - то стикається з проблемою на Visual Studio Code IDE з використанням командного рядка WSL: stackoverflow.com/a/62639745/8119511
Ank_247shbm

31

у вашому поточному каталозі проекту запустіть

npm install nodemon --save //save in package.json so that the following code cam find your nodemon

потім у розділі "сценарії" у файлі package.json додайте "start": "nodemon app.js" (або будь-яка інша точка входу),
щоб виглядати так:

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "nodemon app.js"
}

а потім біжи

npm start

Це дозволяє уникнути ускладнення налаштувань PATH, і це працює на мою Mac,
сподіваюся, може вам допомогти;


3
Не встановлюйте nodemon з прапором --save, оскільки nodemon використовує лише для розробки. Використовуйте -g або --save-dev
grey87

25

Встановіть nodemonглобально, використовуючи наступну команду. Він працює на моєму комп'ютері, і я впевнений, що він буде працювати і у вашій системі.

npm install nodemon -g --save

Іноді ви повинні мати дозвіл встановлювати його глобально. Це можна легко зробити за допомогою наступної команди.

  1. У LINUX UBUNTU: sudo npm install nodemon -g --save

  2. У Fedora:

    а) su
    б)npm install nodemon -g --save



5

Ось як я це виправив:

Коли я встановлював nodemon за допомогою: npm install nodemon -g --save мій шлях до глобальних пакетів npm не був присутній у змінній PATH.

Якщо просто додати його до змінної $ PATH, це буде виправлено.

Відредагуйте ~/.bashrcфайл у домашній папці та додайте цей рядок: -

export PATH=$PATH:~/npm

Тут "npm" - це шлях до моїх глобальних пакунків npm. Замініть його на глобальний шлях у вашій системі


3

Ви повинні просто встановити його глобально. npm встановити -g nodemon


Це теж спрацювало для мене. Тоді для початку - #nodemon ./path/to/startfile
Nelles

3

heroku за замовчуванням працює у виробничому середовищі, тому не встановлює залежності розробника.

якщо ви не хочете перевстановлювати nodemon як залежність, чого, на мою думку, не слід, оскільки його правильне місце знаходиться в devDependencies, а не в залежностях.

натомість ви можете створити два сценарії npm, щоб уникнути цієї помилки, запустивши nodemon лише у вашому localhost так:

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node app.js",
    "start:dev": "nodemon --watch"
},

а коли ви хочете запустити проект локально, просто запустіть у своєму терміналі, npm run start:devі він завантажить app.js nodemon.

в той час як у heroku npm startпрацює за замовчуванням і завантажує app.js із звичайної команди вузла, і ви позбавляєтеся цієї помилки.


2

Це рішення спрацювало для мене:

Я припускаю, що ви встановили nodemon глобально. Якщо це зроблено, виконайте такі дії:

відкрийте файл .bash_profile:

nano .bash_profile

минувши це, щоб додати новий псевдонім у свій профіль bash:

alias nodemon='~/.npm-global/lib/node_modules/nodemon/bin/nodemon.js'

Тепер ви можете використовувати команду nodemon де завгодно.


2
sudo npm install nodemon -g --save

Нарешті, це спрацювало для мене. Я сподіваюся, це теж має спрацювати для інших


1

NPM використовується для управління пакетами та їх завантаження. Однак NPX потрібно використовувати як інструмент для виконання пакетів вузлів

Спробуйте використати nodemon NPX ...

Сподіваюся, це допомагає!


1

Це спрацювало для мене ...

Встановіть nodemon як локальну залежність від розробника

npm install --save-dev nodemon

Додайте скрипт до вашої програми package.json, щоб запустити програму.

"scripts": {
  "start": "nodemon app.js"
},

Почати nodemon з npm start

$ npm start

> node-rest-demo@1.0.0 start node-rest-demo
> nodemon app.js

[nodemon] 1.19.4 [nodemon] to restart at any time, enter `rs` [nodemon] watching dir(s): *.* [nodemon] watching extensions: js,mjs,json [nodemon] starting `node app.js` Starting server ...

1

Мій нодемон зник після встановлення бабеля (чому?).

Перепробував багато речей. Ось як я це вирішив:

sudo npm i -g nodemon

Просто переінсталюйте його за допомогою sudo. Так.


1

Я зіткнувся з подібною проблемою, але потім перевірив файл .npmrc, і в ньому був неправильний пароль, що спричинило збій з'єднання, і тому yarn --verbose повернуло помилку з помилковим запитом. Після виправлення пароля пакети були додані успішно.


1

Я знайшов дуже просте рішення. Просто видаліть папку кешу npm та npm з ПК. Повторно встановіть його знову, але помилка, яку роблять багато хто з нас, полягає в невстановленні npm глобально.

npm i -g npm

А потім встановіть nodemon глобально:

npm i -g nodemon

Тепер nodemon працює глобально, навіть не використовуючи команду:

npx nodemon <yourfilename>.js

1

npx nodemon (app.js) працював у мене, а nodemon (app.js) ні.

Я оновив node.js до останньої версії, і тепер обидва працюють.


Це не має нічого спільного з оновленням вузла. nodemonвстановлений локально входить ./node_modules/.bin/nodemon. Таким чином, ви можете npxвиконати двійкові файли пакунків npm, або ви можете встановити nodemonглобально (використовуючи -g), як зазначено в багатьох інших відповідях.
Мікаель Б.

Дякую за ваш внесок, я встановив nodemon глобально, але все ще не працював для мене. Лише до оновлення node.js він почав працювати. Не знаю, як, але саме так я це виправив.
Девід Гілкесон,

0

У мене була ця проблема, і навіть після того, як я використав команду npm install nodemon --saveу своєму додатку, у мене все ще була проблема з nodemon.

Я щойно вирішив, встановивши глобально nodemon, використовуючи команду:npm install nodemon -g


0


Якби та сама проблема в іншому випадку просто працювала добре день тому. Дуже просте виправлення, спочатку перевірте, чи існує nodemon у вашій системі глобально чи ні

Перевіряти

npm list -g --depth=0

Якщо ви не бачите, то встановіть його npm install -g nodemon(g означає глобально).
Якщо ви бачите, що це все ще не працює, вам потрібно налаштувати змінну середовища, я використовую ОС Windows. У Windows перейдіть до

Control panel>System>Advanced System Settings>Environment Variables>double-click on PATH

Тепер перевірте, чи є у вас цей ШЛЯХ. C:\Users\yourUsername\AppData\Roaming\npm
Якщо ні, ви побачите деякі існуючі шляхи, просто додайте до нього розділяючи крапкою з комою. Це воно! Працював у мене. Для мене вузол був встановлений в C: .. \ Роумінг \ npm, і для вас, якщо PATH інший, ви введете будь-який додаток.


Я дещо втратив запис у своєму PATH. Не знаю, як, але ваша пропозиція це виправила. Дякую
містер Белл,

Моє задоволення!! Насолоджуйтесь
pulkit219

0

Спочатку встановіть nodemon у свою робочу папку за допомогою

npm install nodemon

Додайте шлях nodemon до змінної шляху змінної середовища системного середовища . У моєму випадку шлях nodemon був.

C:\Users\Dell\Desktop\Internship Project\schema\node_modules\.bin

У мене це спрацювало.


0

Ви завжди можете перевстановити Node.js. Коли у мене виникла ця проблема, я не міг її виправити, але все, що я зробив, - це оновити поточну версію Node. Ви можете оновити його за цим посиланням: https://nodejs.org/en/download/


0

Я хотів додати, як я виправив цю проблему, оскільки мені довелося трохи змішувати і поєднувати з кількома різними рішеннями. Для довідки це для ПК з Windows 10, nodemon працював бездоганно місяцями, а потім раптом команду не знайшли, якщо не запускати локально з npx. Ось мої кроки -

  1. Перевірте, чи він встановлений глобально, запустивши його npm list -g --depth=0, у моєму випадку він був встановлений, так що починати заново ...
  2. Я побіг npm uninstall -g nodemon
  3. Далі я переінсталював за допомогою npm install -g --force nodemon --save-dev(можливо, рекомендується спробувати запустити npm install -g nodemon --save-devспочатку, пройдіть решту кроків, і якщо це не допоможе, знову пройдіть кроки 2 та 3, використовуючи --force).
  4. Потім я перевірив, де знаходиться моя папка npm, за допомогою команди npm config get prefix, яка в моєму випадку знаходилася за адресою C: \ Users \ username \ AppData \ Roaming \ npm
  5. Я змінив свою змінну PATH, щоб додати як цей шлях до файлу, так і другий запис із доданим до нього \ bin (я не впевнений, який із них насправді потрібен, оскільки деяким людям потрібна була лише коренева папка npm, а іншим - bin, це було легко досить просто додати обидва)
  6. Нарешті, я дотримувався вказівок, подібних до рекомендацій Natesh щодо цього запису, однак, у Windows файл .bashrc не існує автоматично, тому вам потрібно створити його у своєму ~ каталозі. Мені також потрібно було трохи змінити спосіб написання експорту export PATH=%PATH%;C:\Users\username\AppData\Roaming\npm;(Очевидно, замінити "ім'я користувача" на будь-яке ваше ім'я користувача або будь-який шлях до файлу, який було отримано на кроці 4)

Сподіваюся, це допоможе кожному, хто бореться з цією проблемою стільки ж, скільки і я!


0

--save, -g та зміна скриптів package.json у мене не працювали. Ось що було: запуск npm start(або використання npx nodemon) у командному рядку. Я використовую візуальний кодовий термінал. Коли вона успішна , ви побачите наступне повідомлення:

[nodemon] 1.18.9
[nodemon] , щоб відновити в будь-який час, введіть rs
[nodemon] дивитися: .
[nodemon] починається node app.js

Удача!


0

У моєму випадку nodemon потрібно було встановити глобально:

npm i nodemon -g --save

0

Я намагався перерахувати глобальні пакети npm list -g --depth=0, але не зміг знайти nodemon.
Отже, спробував встановити його за допомогою глобального прапора.
sudo npm install nodemon -g
Це добре працювало для мене.


0

Інструкції для Windows,

Відкрийте командний рядок.
тип npm i -g nodemon --save
"--save" - ​​зберегти додавання цього пакета вузла у файл package.json вашого проекту




0

Для редактора коду Visual Studio з підсистемою Windows для Linux, тобто режимом WSL:

sudo npm install nodemon -g

для глобального використання nodemon.


0

Я отримав цю проблему під час розгортання на Heroku. Проблема полягає в Heroku, який не включає devDependencies самостійно. Щоб вирішити цю проблему, просто запустіть команду в терміналі:

heroku config: set NPM_CONFIG_PRODUCTION = false

Не забудьте включити nodemon у свої devDependencies

"devDependencies": {
    "nodemon": "^2.0.6"
  }

Якщо ваша помилка не в Heroku

Я б запропонував видалити nodemon, а потім перевстановити його

https://www.npmjs.com/package/nodemon

Або спробуйте змінити сценарій

"scripts": {
    "start": "nodemon fileName.js",
    "start:dev": "nodemon fileName.js"
 }

Сподіваюся, це допоможе :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.