tensorchord/envd

bug: rust and extension are installed in wrong path

n063h opened this issue · 0 comments

n063h commented

Are you use the envd server?

  • Yes, I am using the envd server.
  • No, I am not using the envd server.

Describe the bug

when I installed rust and vscode_extension "rust-lang.rust-analyzer", I found the softwares are installed in /root instead of /home/envd. This is not what it should be.

⬢ [envd]❯ ls ~ -a
.  ..  .bash_logout  .bashrc  .cache  .config  .profile  .vscode-server
⬢ [envd]❯ sudo ls /root -a
.  ..  .bashrc  .cargo  .profile  .rustup  .zshenv

Thus, when I run cargo, error occurs bash: cargo: command not found

To Reproduce

envd up with

# syntax=v1

def rust():
    """Install Rust."""
    install.apt_packages(name=["build-essential"])
    run(
        [
            "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y",
        ]
    )
    runtime.environ(extra_path=["/home/envd/.cargo/bin"])
    
def build():
    base(dev=True)
    rust()
    install.vscode_extensions(["rust-lang.rust-analyzer"])
    runtime.init(["make install"])

In container, run ls ~ -a,

Expected behavior

rust can be installed in /home/envd correctly.
run ls /home/envd -a, can see

⬢ [envd]❯ ls /home/envd -a
.   . bash_logout  . cache  . config  . profile  . sudo_as_admin_successful  . zshenv
..  . bashrc       . cargo  . rustup   . vscode-server

The docker info output

Client:
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc., v0.9.1)
compose: Docker Compose (Docker Inc., v2.12.2)
dev: Docker Dev Environments (Docker Inc., v0.0.3)
extension: Manages Docker extensions (Docker Inc., v0.2.13)
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0)
scan: Docker Scan (Docker Inc., v0.21.0)

Server:
Containers: 1
Running: 1
Paused: 0
Stopped: 0
Images: 6
Server Version: 20.10.21
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 1c90a442489720eec95342e1789ee8a5e1b9536f
runc version: v1.1.4-0-g5fd4c4d
init version: de40ad0
Security Options:
seccomp
Profile: default
Kernel Version: 5.15.90.1-microsoft-standard-WSL2
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 24
Total Memory: 31.29GiB
Name: docker-desktop
ID: BO42:M6L2:NVXF:YIQB:TLON:RYN2:RD3L:J2HE:HRO4:56W7:HE2U:XRBR
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5000
127.0.0.0/8
Live Restore Enabled: false

WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support

The envd version output

envd: v0.3.16
BuildDate: 2023-03-30T03:53:41Z
GitCommit: 04f43da
GitTreeState: clean
GitTag: v0.3.16
GoVersion: go1.19.7
Compiler: gc
Platform: linux/amd64

Additional context

No response