【问题标题】:NodeJS - npm install practiceNodeJS - npm 安装实践
【发布时间】:2019-06-25 09:48:09
【问题描述】:

创建新文件夹并在其中执行npm install serve

它创建了package-lock.jsonnode_modules/ 文件夹。

当我在同一文件夹serve 中运行时,它显示错误:

command not found: serve

安装方式是什么?

我正在使用:npm@6.5.0

【问题讨论】:

  • 您是否在您的包文件中创建了一个服务脚本?如果没有,请尝试运行 ./node_modules/.bin/serve
  • @jonrsharpe - 我正在尝试安装和使用 SERVE 包:https://www.npmjs.com/package/serve
  • 我明白这一点,但除非你 全局 安装它(正如他们的文档所建议的那样),否则你需要做我刚才建议的两件事之一。

标签: node.js npm


【解决方案1】:

如果 node.js 模块有一个“命令”并且你想在不全局安装模块的情况下运行它(npm install -g serve)。你可以像./node-modules/.bin/command一样从项目的根文件夹运行它。

现在,通常使用的是npx,这样您就可以在项目中轻松地运行其本地 node_modules 或系统的全局 node_modules/ 中的任何二进制文件以及 $PATH 上的任何其他命令。

例如,这里我们安装 webpack 作为本地依赖。运行npm init 后,您可以在文件夹中执行此操作。然后我们运行 webpack 而不必担心引用 bin 文件:

$ npm i -D webpack
$ npx webpack 

【讨论】:

    【解决方案2】:

    我的开发环境是 MACOS 我阅读了很多关于这个主题的页面,但在尝试以下方法之前没有任何效果

    ./node_modules/.bin/serve -s build

    此外,如果您使用的是 VS CODE,您可能希望在 VS CODE 之外打开终端窗口 - 这似乎吸引了很多人。

    【讨论】:

      【解决方案3】:

      找不到serve 二进制文件,因为操作系统无法在PATH 环境变量中找到它。

      当您执行npm install serve 命令时。 serve 模块仅安装在项目文件夹下的node_modules 目录中。除非您明确将此node_module 目录的绝对路径包含在您的PATH 环境变量中,否则OS 将不知道在哪里可以找到serve

      就像其他人说的那样,典型的做法是使用-g 标志安装模块。 G 表示全局。

      当使用-g 时,npm 会将二进制文件放在其node 目录中的某个位置,并且当您安装node 时,此目录将作为PATH 的一部分包含在内,从而使任何可发现新的二进制文件。

      【讨论】:

        【解决方案4】:

        首先,你应该开始你的项目运行

        npm init
        

        这将创建package.json 文件。

        然后,您可以全局安装 serve 包。

        npm install -g serve
        

        现在你可以运行serve

        【讨论】:

          猜你喜欢
          • 2023-03-24
          • 1970-01-01
          • 1970-01-01
          • 2015-03-14
          • 2015-02-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-12-07
          相关资源
          最近更新 更多