运行npm脚本时出现“command not found”的错误提示

4

我尝试在macOS上构建一个项目,但是构建失败了。

我的package.json文件中有:

"scripts": {
...
"build": "build",
...

当我运行npm run build时,我会收到以下错误信息:
sh: build: command not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! project build: `build`
npm ERR! spawn ENOENT

同一文件夹中有一个名为“build”的文件,当我手动进入并执行命令时,一切都正常。可能的原因是什么?
2个回答

2

假设你已经为 build 脚本设置了执行权限,那么如果你按照以下方式设置构建命令,就可以运行它:

"build": "./build"


谢谢,我不明白这些语句有什么区别,但那就是解决方案。 - Ahuevo
1
@Ahuevo 这是你通常从任何终端运行 bash 脚本命令的方式(./file.sh),所以你只是复制了你会在终端窗口中输入的内容。 - Eugene

0
我执行一个基于PHP的shell脚本,将ReactJS文件复制到Blade模板(用于Laravel)中,步骤如下:
1- 在我的package.json文件中:
    "production": "npx webpack --mode production && npm run rjs",
    "rjs": "php sh_rjsToView.php",

    

2 - 我想在构建React编译的内容后直接运行的PHP脚本位于我的项目目录根目录中:

sh_rjsToView.php

3-我不确定在这种情况下是否绝对必要,但请记得在运行package.json之前为php脚本授予执行权限:

chmod ug+x sh_rjsToView.php

4-现在运行整个程序:

npm run production


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接