【问题标题】:How to create a package.json script that runs a file from node_modules?如何创建从 node_modules 运行文件的 package.json 脚本?
【发布时间】:2021-04-17 05:11:06
【问题描述】:

我已经安装了react-clear-cache 包,并且在文档中说我需要向我的package.json 添加一个新脚本。

这是我的 package.json 脚本:

  "scripts": {
    "start": "node scripts/start.js",
    "build": "node scripts/build.js",
    "prebuild": "npm run generate-build-meta",
    "generate-build-meta": "./node_modules/react-clear-cache/bin/cli.js"
  },

根据我需要运行npm run generate-build-meta 的文档,但每次我尝试时,节点都会告诉我它无法找到"./node_modules/react-clear-cache/bin/cli.js"

我应该怎么做才能正确运行这个cli.js

顺便说一句,我的 node_modules 中有 react-clear-cache,我可以看到 cli.js

这是我收到的消息:

这几乎是在说“。”未被识别为内部命令。

【问题讨论】:

  • 你在你的 node_modules 目录中看到那个包了吗?
  • 是的,我做@SamPetering
  • 确切的错误信息是什么?请edit您的问题一字不差地包含它,而不是总结它。更好的是,谷歌错误消息。很有可能其他人已经在某处发布了有关该确切错误的信息。
  • @Code-Apprentice 我在这里发帖是因为我没有找到我的问题的答案。
  • 尝试用npm run react-clear-cache替换脚本然后运行

标签: reactjs package.json


【解决方案1】:
  "scripts": {
    "start": "node scripts/start.js",
    "build": "node scripts/build.js",
    "prebuild": "npm run generate-build-meta",
    "generate-build-meta": "react-clear-cache"
  },

package.json 脚本中不需要通过路径访问node_modules 二进制文件。在package.json 中,您可以像node_modules/**/bin/ 在您的$PATH 中一样继续操作。

【讨论】:

  • 它说 'react-clear-cache' 未被识别为内部命令
  • 如果我尝试用最小的package.json 复制它,我会得到同样的错误。这个包可能以非标准的方式做事。尝试直接运行文件 (npx react-clear-cache) 会遇到与 this GitHub issue 类似的错误。
  • 这很奇怪。我将尝试在这个 repo 中创建一个 git 问题。无论如何谢谢@backtick我会给你正确的答案,因为你已经努力在你的机器上运行它,谢谢。
猜你喜欢
  • 2018-07-25
  • 2019-01-20
  • 1970-01-01
  • 2019-10-06
  • 2017-07-07
  • 2017-07-11
  • 1970-01-01
  • 2020-08-31
  • 2017-02-03
相关资源
最近更新 更多