【问题标题】:nodemon command is not recognized in terminal for node js server在 node js 服务器的终端中无法识别 nodemon 命令
【发布时间】:2017-03-14 13:31:57
【问题描述】:

我正在从https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens 进行 node.js 服务器设置。我是 node.js 的新手。我正在安装npm install nodemon --save。但是当我用这个nodemon server.js 运行服务器时。
在终端显示:

nodemon 未被识别为内部或外部命令,可运行 程序或批处理文件

node server.js 命令有效并启动了服务器,但nodemon 命令无效。

我是从https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens视频设置节点js服务器的。

我不知道为什么它不起作用我已经尝试了一些安装 nodemon 的命令。

npm install -g nodemon 
npm install -g nodemon --save 
npm install --save-dev nodemon 
npm install -g nodemon@debug 

npm install -g --force nodemon

我看到了一个链接I can´t install nodemon globally, "nodemon" not recognized,但是由于我的项目位置在D盘,我不知道如何设置路径。

我想运行nodemon server.js。如果有人有想法,请分享。提前致谢。

【问题讨论】:

    标签: javascript node.js nodemon


    【解决方案1】:

    以下内容在 Windows 11 上对我有用。

    1. 在终端中输入npm install。 (与项目在同一目录下)
    2. 然后键入npm run serve 以从默认浏览器运行应用程序。

    【讨论】:

      【解决方案2】:

      如果在系统上禁用运行脚本,也可能出现此问题。为了启用它:

      1. 以管理员身份运行打开 Windows PowerShell

      2. 执行:

        Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

      3. npm install -g nodemon

      4. nodemon 应用程序

      【讨论】:

        【解决方案3】:

        第 1 步:$ npm install nodemon --> 在您的项目上安装 nodemon

        第 2 步:在 package.json 文件的脚本中添加 serve 为:

        "scripts": {
            "serve": "nodemon app.js" // you can change file name accordingly 
        }
        

        第三步:$ npm run serve

        【讨论】:

          【解决方案4】:

          这可以帮助我解决启动 nodemon 和 graphql 服务器的相同问题

          npm run dev
          

          【讨论】:

            【解决方案5】:

            最好全局安装nodemon,而不是作为项目的开发依赖。

            npm install -g nodemon

            NPM 官方 CDN:Link

            这个包用于监控javascript文件的变化并重新运行npm start,以便于开发目的。

            【讨论】:

              【解决方案6】:

              对我来说,设置路径变量就足够了:

              步骤 1) 使用 npm install -g nodemon 全局安装 nodemon

              步骤 2) 设置ENVIRONMENT VARIABLES,通过添加 npm 路径 PATH 变量

              1) 打开控制面板,搜索环境变量

              2) 点击打开环境变量

              3) 创建新变量NPM 将其设置为nodemon 安装cmd 输出中显示的npm 路径(如nodemon 安装截图所示):

              4) 现在将NPM 变量添加到PATH 变量中:

              第 3 步) 关闭“cmd”打开一个新的并输入nodemon --version

              现在我们可以使用 nodemon 了:)

              【讨论】:

                【解决方案7】:

                在您的 packge.json 中尝试: 放“./node_modules/.bin/nodemon”而不是“nodemon”。 对我来说它有效。

                【讨论】:

                  【解决方案8】:

                  无需全局安装 nodemon。只需运行这个 npx nodemon 。就是这样。

                  【讨论】:

                  • 这个解决方案对我有用,但我不明白为什么 npm 不起作用7
                  【解决方案9】:

                  我已经这样解决了

                  1. 卸载现有的本地nodemon

                    npm 卸载 nodemon

                  2. 再次全局安装。

                    npm i -g nodemon

                  【讨论】:

                  • 这很完美。在我的环境(Windows Server)中,有 4 个程序员连接到同一台服务器,通过 RDP 进行编码。谢谢萨德。
                  • 这适用于我的情况,我只想运行一个简单的 js 文件。但是 nodemon cli 命令被自动化到nodemon.cmd .\yourfileName.js
                  【解决方案10】:

                  要使用 nodemon,您必须全局安装它。

                  适用于 Windows

                  npm i -g nodemon

                  适用于 Mac

                  sudo npm i -g nodemon

                  如果您不想全局安装它,您可以通过运行命令 npm i nodemon 将其安装在本地项目文件夹中。如果在本地运行,它会给出类似这样的错误:

                  nodemon : 术语“nodemon”未被识别为 cmdlet、函数、脚本文件或可运行的程序。检查拼写 的名称,或者如果包含路径,请验证该路径是 正确并重试。

                  要消除此错误,请打开 package.json 文件并添加

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

                  然后运行命令

                  npm 运行服务器

                  您的 nodemon 将开始正常工作。

                  【讨论】:

                  • 错了。你的脚本应该是 { "server": "nodemon server.js" }
                  • 这适用于我的情况,我只想运行一个简单的 js 文件。但是 nodemon cli 命令被自动化到nodemon.cmd .\yourfileName.js
                  【解决方案11】:

                  我尝试在全局范围内安装 nodemon,但这对我不起作用。 每当我尝试运行它时,它总是向我显示错误:

                  nodemon : The term 'nodemon' is not recognized as the name of a
                  cmdlet, function, script file, or operable program. Check the spelling
                  of the name, or if a path was included, verify that the path is
                  correct and try again.
                  

                  2。我为此找到了两种解决方案

                  解决方案 1:

                  我尝试的是更新 package.json 文件中的 "scripts" 并且我已经添加了

                  "server": "nodemon app.js"
                  

                  代码行之上和之后

                  npm run server
                  

                  解决方案 2:

                  1. 按 Windows 键。

                  2. 在搜索框中输入“路径”并选择“编辑系统环境变量”

                  3. 点击底部附近的“环境变量”。

                  4. 在“系统变量”部分双击“路径”变量。

                  5. 点击右侧的“新建”。

                  6. 复制并粘贴到框中(替换 [用户名]):

                  C:\Users[用户名]\AppData\Roaming\npm

                  1. 重新启动终端和 VSCode。

                  2. 然后输入nodemon app.js运行nodemon

                  我应用了解决方案 2,因为我们只需要运行 nodemon [filename.js]

                  【讨论】:

                    【解决方案12】:

                    Set-ExecutionPolicy cmdlet 的默认执行策略对于 Windows 是受限的。 您可以通过将此策略设置为 Unrestricted 来尝试安装 nodemon。

                    执行命令:Set-ExecutionPolicy Unrestricted 然后尝试安装nodemon并执行命令:nodemon -v

                    【讨论】:

                      【解决方案13】:

                      我遇到了同样的问题。我已经将 nodemon 安装为开发依赖项,当我尝试启动服务器时,它给出的消息是

                      nodemon 未被识别为内部或外部命令,可运行 程序或批处理文件

                      然后我全局安装它并尝试启动服务器并且它工作!

                      npm install -g nodemon
                      

                      【讨论】:

                        【解决方案14】:
                        1. 全局安装 nodemon:

                          C:\>npm install -g nodemon
                          
                        2. 获取前缀:

                          C:\>npm config get prefix
                          

                          您将在控制台中获得如下输出:

                          C:\Users\Family\.node_modules_global
                          

                          复制它。

                        3. 设置路径。
                          转到高级系统设置→环境变量→单击新建(在用户变量下)→将显示弹出表单→传递以下值:

                          variable name = path,
                          variable value = Copy output from your console
                          
                        4. 现在运行 Nodemon:

                          C:\>nodemon .
                          

                        【讨论】:

                        • 这行得通!这是我一直在寻找的。谢谢
                        • 这对我有用。其实我有窗户,需要修复环境变量。谢谢:)
                        • 这也有效!!!!!!!!!我正在做一个 ExpressJS 项目。我正在使用 npm 脚本,然后我开始在 Google 上搜索。我在 Google 上找到了这个链接,我只是在笔记本电脑上使用 npx nodemon。但我只想使用 nodemon ,然后我发现了这个
                        【解决方案15】:

                        只需全局安装

                         npm install -g  nodemon
                        

                        它在 Windows 10 上对我有用。

                        nodemon app.js
                        

                        【讨论】:

                          【解决方案16】:

                          这可能来晚了,但最好说点什么:)

                          如果你不想安装 nodemon globbaly,你可以使用npx,它会在运行时安装包,并且会像全局包一样运行(请记住,它目前仅可用,并不存在于全局!)。

                          所以你只需要npx nodemon server.js

                          • npx 可以从npm@5.2.0 及更高版本开箱即用。

                          【讨论】:

                            【解决方案17】:

                            以上所有选项都失败了,我得到了永久解决方案。 在依赖项和 run npm install 下的 package.json 中添加以下行。这会将 nodemon 包添加到 node_modules 中,然后就可以享受编码了。

                            "nodemon": "^1.17.*"
                            

                            【讨论】:

                            • 欢迎来到 Stack Overflow。在用现有答案回答较旧的问题时,解释您的答案带来了哪些新信息很有用。该答案似乎没有显示全局安装,它引用了特定版本(因此它不会很好地老化),并且它没有回答所提出的问题,因为它没有显示如何启用命令。
                            【解决方案18】:

                            首先,编写 npm install --save nodemon 然后在 package.json 中写入以下内容

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

                            然后写

                            npm run server
                            

                            【讨论】:

                            • 这成功了!非常感谢。只是一个查询,nodemon 阻止我们重新启动服务器文件,但我们仍然需要刷新浏览器。浏览器能否像 angular 一样自行刷新?
                            • 如果执行此操作后仍然出现错误,您可以尝试删除 node_modules 文件夹并重新运行npm i,然后再次运行应用程序。
                            【解决方案19】:

                            在我的开发机器上创建新的用户配置文件后遇到了同样的问题。

                            问题是我没有以管理员身份运行控制台(命令提示符\powershell ISE)。

                            以管理员身份运行为我解决了这个问题。

                            【讨论】:

                              【解决方案20】:

                              删除 nodemon,因为它是 dev 依赖项并使用 node 代替它。

                              "scripts": {
                                   "start": "node server.js"
                               },
                              

                              这对我有用。

                              【讨论】:

                              • 不回答问题。 node 和 nodemon 有不同的用途。
                              • 不同的东西。对于 nodemon,它应该是 "server": "nodemon app.js"
                              【解决方案21】:

                              运行这个命令:

                              npm install nodemon -g
                              

                              现在它将安装 nodemon,但我的问题是它正在其他地方安装 nodemon。我从 (ProgramFiles(x86)) 添加了 Nodejs 路径,但没有奏效,所以我找到了另一个解决方案。

                              • 运行以上命令
                              • 安装过程中会显示一个安装nodemon的路径,然后 [请到以下链接查看路径][1]

                                [1]:https://i.stack.imgur.com/ld2sU.png

                              • 将路径复制到 npm 并将其设置为环境变量
                              • 现在试试下面的命令,希望它能运行

                                 nodemon YourAppName.js

                              【讨论】:

                                【解决方案22】:

                                这一行解决了我在 CMD 中的问题:

                                npm install --save-dev nodemon
                                

                                【讨论】:

                                • 全局 nodemon 安装对我不起作用,但这个对我有用 :)
                                • 这个也救了我
                                【解决方案23】:

                                您只需输入nodemon 即可运行您的节点应用程序 首先运行 index.js 您可以轻松地将入口点放入该文件中。

                                如果你还没有安装 nodemon 那么你首先必须安装它

                                npm install -g nodemon
                                

                                如果您遇到任何权限错误,请使用

                                sudo npm install -g nodemon
                                

                                你可以检查nodemon是否存在

                                nodemon -v
                                

                                【讨论】:

                                  【解决方案24】:

                                  你需要全局安装

                                  npm install -g nodemon
                                  # or if using yarn
                                  yarn global add nodemon
                                  

                                  然后它就会在路径上可用(我现在看到你已经尝试过了但它没有工作,你的路径可能搞砸了)

                                  如果你想使用本地安装的版本,而不是全局安装,那么你可以在你的 package.json 中创建一个脚本

                                  "scripts": {
                                      "serve": "nodemon server.js"
                                    },
                                  

                                  然后使用

                                  npm run serve
                                  

                                  如果使用纱线,则可选

                                  # without adding serve in package.json
                                  yarn run nodemon server.js
                                  # with serve script in package.json
                                  yarn run serve
                                  

                                  npm 会先查看本地 node_modules 文件夹,然后再在全局模块中查找命令

                                  【讨论】:

                                  • 什么不起作用?使用本地安装的脚本?
                                  • 耶。我已经安装了nodemon。我把脚本放在 package.json 文件中。运行 npm run serve 后。毕竟然后运行 ​​nodemon server.js 但不工作。
                                  • package.json: { "scripts": { "serve": "nodemon server.js" }, "name": "node-site", "version": "1.0.0", "description": "", "main": "server.js", "scripts": { "test": "echo \"错误:没有指定测试\" && exit 1" }, "author": "", “许可证”:“ISC”,“依赖项”:{“express”:“^4.14.0”,“nodemon”:“^1.11.0”},“devDependencies”:{“gulp-nodemon”:“^2.2 .1", "nodemon": "^1.11.0" } }
                                  • 你能澄清“不工作”吗?有错误吗?什么都没有发生?
                                  • 这可能是因为你有两组脚本,你必须将所有脚本放在一个脚本对象中
                                  【解决方案25】:

                                  由于节点前缀不在 PATH ENV 变量中,因此无法识别任何全局安装的模块。 请试试这个。 打开 cmd 提示符 npm 配置获取前缀 将生成的路径附加到 PATH 环境变量。 现在您应该能够从任何位置运行 nodemon。 试试这个链接并关注它。修复 npm 权限 https://docs.npmjs.com/getting-started/fixing-npm-permissions#option-2-change-npms-default-directory-to-another-directory

                                  【讨论】:

                                  • 你的链接里有linux的说明,你有windows的吗?
                                  【解决方案26】:

                                  是否需要全局安装?你需要能够运行 nodemon server.js 吗?如果没有,您总是可以从本地项目目录中调用它。应该在这里:

                                  node_modules/.bin/nodemon
                                  

                                  【讨论】:

                                  • 这对我从 shell 脚本运行我的 nodejs api 很有帮助。非常感谢!
                                  猜你喜欢
                                  • 2020-07-08
                                  • 2021-04-08
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 2023-03-31
                                  • 1970-01-01
                                  • 2017-03-02
                                  • 2015-12-12
                                  • 2021-04-20
                                  相关资源
                                  最近更新 更多