你如何从 npm 脚本 运行 pyenv 命令?
How do you run pyenv commands from an npm script?
我想在 package.json 中有一个 npm 脚本,类似于:
"scripts": {
"activate": "pyenv activate mypythonenvironment"
}
如果我只是 运行
pyenv activate mypythonenvironment
在 bash shell 终端中,它完全有效。
但是,如果我 运行 我的脚本在 bash shell 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 scripts 运行s 的 bash shell 没有配备我的 .bash 中可用的所有库rc.
如错误消息所述,您未能执行 shell 登录脚本通常在您自己使用 shell 时执行的初始化。激活可能看起来像 eval "$(pyenv init -)"; eval "$(pyenv virtualenv-init -)"
;你也可以 运行 在你的 scripts
节中:
"scripts": {
"activate": "eval \"$(pyenv init -)\"; eval \"$(pyenv virtualenv-init -)\"; pyenv activate mypythonenvironment"
}
但是你真的确定要求 pyenv
是解决这个问题的好方法吗?常规的虚拟环境可能会很好地工作,并且对您的用户可能已经出于其他原因使用的任何东西的干扰更少。
我想在 package.json 中有一个 npm 脚本,类似于:
"scripts": {
"activate": "pyenv activate mypythonenvironment"
}
如果我只是 运行
pyenv activate mypythonenvironment
在 bash shell 终端中,它完全有效。
但是,如果我 运行 我的脚本在 bash shell 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 scripts 运行s 的 bash shell 没有配备我的 .bash 中可用的所有库rc.
如错误消息所述,您未能执行 shell 登录脚本通常在您自己使用 shell 时执行的初始化。激活可能看起来像 eval "$(pyenv init -)"; eval "$(pyenv virtualenv-init -)"
;你也可以 运行 在你的 scripts
节中:
"scripts": {
"activate": "eval \"$(pyenv init -)\"; eval \"$(pyenv virtualenv-init -)\"; pyenv activate mypythonenvironment"
}
但是你真的确定要求 pyenv
是解决这个问题的好方法吗?常规的虚拟环境可能会很好地工作,并且对您的用户可能已经出于其他原因使用的任何东西的干扰更少。