vfox
vfox copied to clipboard
[Feature]: 能否关闭每开一个shell就创建一个临时目录的功能?
1. Your usage scenarios?
能否关闭每开一个shell就创建一个临时目录的功能?
2. What is your expected outcome?
其实在环境变量中有
C:\Users\username\.version-fox\cache\python\current 就行了
根本不需要开一个shell就再生成一个目录添加C:\Users\username\.version-fox\temp\<乱数>\python\到环境变量
那肯定是不行的咯,current是全局的配置,但是你每个目录又不一定用全局的配置
如果按你说的改了 那就会出现一个在任意窗口调整sdk版本全局版本都会变的bug
似乎还有个比较好的方案是我们优化一下这个路径的命名,每个版本的 python 路径都只创建一次:
C:\Users\username.version-fox\temp\python\current C:\Users\username.version-fox\temp\python\3.10.12
似乎还有个比较好的方案是我们优化一下这个路径的命名,每个版本的 python 路径都只创建一次:
C:\Users\username.version-fox\temp\python\current C:\Users\username.version-fox\temp\python\3.10.12
如果是这样的话,似乎没有创建临时路径的必要? 只需要有一个配置文件记录当前的所有已经设置的sdk全局版本,在shell中切换版本时只需要将sdk的home环境变量刷新上下文到具体路径即可?
如果是这样的话,似乎没有创建临时路径的必要?
临时目录是为了会话级别的管理,我觉得这个很有必要,开启不同的终端时每个终端都可以设置各自的版本。
我觉得应该优化项目级别的管理方式,当使用项目级别时在该项目目录下创建相关文件,这样路径就固定了。 可以设置类似这种 PATH=$PWD/.vfox/python:$HOME/.version-fox/temp/xxx/python ,优先使用项目级别路径,当从项目级别切换为会话级别时,将 PATH 移除 $PWD/.vfox/python 这部分。
如果是这样的话,似乎没有创建临时路径的必要?
临时目录是为了会话级别的管理,我觉得这个很有必要,开启不同的终端时每个终端都可以设置各自的版本。
我觉得应该优化项目级别的管理方式,当使用项目级别时在该项目目录下创建相关文件,这样路径就固定了。 可以设置类似这种 PATH=$PWD/.vfox/python:$HOME/.version-fox/temp/xxx/python ,优先使用项目级别路径,当从项目级别切换为会话级别时,将 PATH 移除 $PWD/.vfox/python 这部分。
还是有点疑惑,会话级别的管理跟临时目录关系好像不是很大,临时目录实质上只是一个软连接
那么抛开这个软连接,直接将实际地址更新到当前会话的PATH中不就可以了吗?这个软连接存在的必要性是什么呢?
比如我设置了全局Java版本是1.8
会话开启默认加载JAVA_HOME为$HOME/.version-fox/cache/java/1.8
如果在其他会话临时切换了版本,只需要在当前操作的会话重新设置JAVA_HOME的地址即可,似乎没有必须要存在这个软连接的必要
@fangzhengjin vfox早期版本就是设置 PATH 路径,每次切换版本都要重新设置 PATH,甚至Java还需要设置额外的JAVA_HOME环境变量,后来改为使用临时目录方案。此时只需要启动时生成临时目录,设置全部环境变量,后续切换版本只需要修改软连接,参考这次版本变更:https://github.com/version-fox/vfox/compare/v0.4.2...v0.5.0 ,目录软连接解决了很多 固定路径+设置PATH变量 导致的问题。
我以前用的 https://github.com/Schniz/fnm , https://github.com/voidint/g 也是使用目录软连接。
现在是想要固定路径,例如这个问题 https://github.com/version-fox/vfox/issues/290
所以我才想要在项目级别的设计上进行优化,毕竟项目级别会有具体项目路径,比较适合做固定路径这种逻辑额。
@fangzhengjin vfox早期版本就是设置 PATH 路径,每次切换版本都要重新设置 PATH,甚至Java还需要设置额外的JAVA_HOME环境变量,后来改为使用临时目录方案。此时只需要启动时生成临时目录,设置全部环境变量,后续切换版本只需要修改软连接,参考这次版本变更:v0.4.2...v0.5.0 ,目录软连接解决了很多 固定路径+设置PATH变量 导致的问题。
我以前用的 Schniz/fnm , voidint/g 也是使用目录软连接。
现在是想要固定路径,例如这个问题 #290
所以我才想要在项目级别的设计上进行优化,毕竟项目级别会有具体项目路径,比较适合做固定路径这种逻辑额。
了解了 谢谢解答