Skip to content

tea symbolic links should be development environment aware #667

Closed
@felipecrs

Description

@felipecrs

Otherwise things like pinning python version to 3.7 through .tea.yml and expecting VS Code's Python extension to pick it up from the PATH won't work.

The documentation mentions that for things where magic doesn't apply, like VS Code extensions for finding Python's version and so on, you can create a symbolic link (on Linux it should be hard links) so that VS Code can "see" tea's python as a binary in your PATH.

In the current state, tea's symlinks will only use the global tool version.

Example:

$ ln -vf $(which tea) ~/.local/bin/node
'/home/felipecrs/.local/bin/node' => '/home/felipecrs/.local/bin/tea'

$ which node
/home/felipecrs/.local/bin/node

$ cd $(mktemp -d)

$ echo 18.6.0 > .node-version

$ tea --env node --version
v18.6.0

$ node --version
v20.5.0

This is something Volta does by the way:

$ volta install node@20

$ ls -l $(which node)
lrwxrwxrwx 1 felipecrs felipecrs 37 Oct 25  2022 /home/felipecrs/.volta/bin/node -> /home/felipecrs/.volta/bin/volta-shim

$ node --version
v20.5.0

$ cd $(mktemp -d)

$ npm init -y

$ volta pin node@18.6.0

# Volta's symlinks parses the package.json to find the node version
$ node --version
v18.6.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions