代码之家  ›  专栏  ›  技术社区  ›  Hobbamok

NPM在哪里运行以查找脚本?

  •  0
  • Hobbamok  · 技术社区  · 6 年前

    当我在命令行中键入“npm run test”时,npm将转到package.json的“scripts”部分,并尝试在那里匹配“test”。 到现在为止,一直都还不错。

    现在,“测试”后面的行是: "JASMINE_CONFIG_PATH=./spec/support/jasmine.json jasmine-run" 但第一部分(除了“茉莉花开”)可以消除问题。[我有一个类似结构的项目,它在那里工作,所以我可以测试这些修改]

    现在: NPM在哪里寻找“茉莉花开”????

    因为我有一个脚本提供工作的项目,所以我可以查找它,但答案是:在package.json旁边的node_modules文件夹中有一个模块,package.json的package.json在“bin”部分中有:

    "jasmine-run": "tools/jasmine-run/jasmine-run.js",
    

    然而,这两个项目中都存在这种精确的设置。在一个地方一切正常,而在另一个地方却找不到“茉莉花开”。

    作为一个答案的替代者,我也会对NPM运行的方式/位置进行适当的解释(或来源),因为这样我就可以自己找到错误。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Tiago Neiva    6 年前

    当您使用NPM运行脚本时,例如:

    npm run-script <name>
    

    或者用类似的快捷方式

    npm test or npm start, 
    

    当前包目录的bin目录放在路径的前面。 对于你和在很多情况下 ./node_modules/.bin/ , 其中包含指向包的可执行脚本的链接。

    不管怎样,您可以在这里解释NPM的运行方式: https://docs.npmjs.com/cli/run-script

        2
  •  1
  •   Ashish    6 年前

    npm run将node_modules/.bin添加到提供给脚本的路径中。本地安装的依赖项提供的任何二进制文件都可以不使用node_modules/.bin前缀。

    检查是否可以在node_modules/.bin目录中找到jasmine run。

    请参考本帖: https://docs.npmjs.com/cli/run-script