gpt4 book ai didi

node.js - 如何使用 npm 脚本获取 shell 脚本?

转载 作者:行者123 更新时间:2023-12-02 11:18:50 25 4
gpt4 key购买 nike

我的 package.json 中有一个脚本:

{
"scripts": {
"start": "source run-nvm.sh && ..."
}
}
但是正在运行 source run-nvm.sh && ...yarn start 不同(或 npm run start)。
为什么?它创建了一个子shell。所以我不能改变原始shell的环境,我不能 export它的常量或操纵 nvm 的状态(我无法更改父 shell 的 Node 版本)
所以真正的问题
我可以通过不创建子shell来执行yarn/npm脚本吗? (并使用当前的 shell )
或者
如何使用 npm 脚本获取 shell 脚本?
最后,你可能会尝试通过问:“你为什么不只是 source run-nvm.sh && yarn start”来尝试改变话语,但我不想只是添加一些自定义脚本和复杂性,我希望它在 yarn start 上自动执行/ npm start (自动更改 Node 版本)
真正的问题
它当前有效(脚本更改 Node 的版本并运行应用程序)但由于它是一个子 shell ,因此它不保存 nvm 的状态。所以每 yarn start它最初使用默认版本,然后更改版本,然后启动应用程序,因此它为 yarn start 增加了约 3-4 秒版本更改命令。虽然它不应该每次都设置版本,但应该只设置一次,第一次。

最佳答案

完全猜测,但尝试

{
"scripts": {
"start": "bash -c 'source run-nvm.sh && ...'"
}
}

关于node.js - 如何使用 npm 脚本获取 shell 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55701935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com