Bash 如何从npm脚本运行pyenv命令?

Bash 如何从npm脚本运行pyenv命令?,bash,npm,npm-scripts,pyenv,Bash,Npm,Npm Scripts,Pyenv,我希望package.json中有一个npm脚本,类似于: "scripts": { "activate": "pyenv activate mypythonenvironment" } 如果我只是跑 pyenv激活mypythonenvironment 在bashshell终端中,它完全可以工作 但是,如果我在bashshellnpm run activate中运行脚本,则会出现以下错误: Failed to activate

我希望package.json中有一个npm脚本,类似于:

"scripts": {
   "activate": "pyenv activate mypythonenvironment"
}
如果我只是跑
pyenv激活mypythonenvironment
在bashshell终端中,它完全可以工作

但是,如果我在bashshell
npm run activate
中运行脚本,则会出现以下错误:

Failed to activate virtualenv.

Perhaps pyenv-virtualenv has not been loaded into your shell properly.
Please restart current shell and try again.
任何帮助都将不胜感激!提前谢谢

编辑: 我这样做是为了开发目的,这样我就可以从我的前端节点目录运行我的后端,以便快速启动项目


问题似乎在于npm脚本运行的bash shell没有配备my.bashrc中的所有可用库。

正如错误消息所说,您未能执行初始化,而您自己使用shell时,shell登录脚本通常会执行初始化。激活可能类似于
eval“$(pyenv init-”;eval“$(pyenv virtualenv init-”
;您也可以在
脚本
小节中运行:

“脚本”:{
“激活”:“eval\”$(pyenv init-)“eval\”$(pyenv virtualenv init-)“pyenv激活mypythonenvironment”
}
但是你真的确定首先需要
pyenv
是解决这个问题的好方法吗?一个常规的虚拟环境可能工作得很好,并且对用户出于其他原因可能已经在使用的东西的干扰更少