Eu estava tendo problemas para começar npm install
a trabalhar quando NODE_ENV
estava definido como production
, e como não tenho profundidade suficiente no Node para entender o que estava errado, pensei em perguntar por que isso poderia acontecer.
Para contexto:
Este projeto usa o nó 18.14.2
package.json
inclui um script chamadoprepare
que simplesmente é executadohusky install
e executado como parte donpm install
.Quando
NODE_ENV
estiver definido com seu valor padrãodevelopment
,npm install
para concluir com êxito:file-upload git:(ACW-5868) ✗ export NODE_ENV=development file-upload git:(ACW-5868) ✗ npm install > @icpsr/[email protected] prepare > husky install husky - Git hooks installed added 1397 packages, and audited 1845 packages in 5s 236 packages are looking for funding run `npm fund` for details 5 moderate severity vulnerabilities To address all issues (including breaking changes), run: npm audit fix --force Run `npm audit` for details.
No entanto, quando está definido como
production
, recebo o seguinte:file-upload git:(ACW-5868) ✗ export NODE_ENV=production file-upload git:(346b304) npm install > @icpsr/[email protected] prepare > husky install sh: husky: command not found npm ERR! code 127 npm ERR! path /Users/bhorvath/tmp/file-upload npm ERR! command failed npm ERR! command sh -c husky install```
O que está acontecendo aqui? Por que o nó não consegue encontrar um executável que esteja na estrutura de diretório raiz quando a compilação é executada em um production
ambiente? (Não que você necessariamente queira fazer isso; estou apenas curioso.)