vscode zsh 导出 zshrc 权限被拒绝且分配错误时出现错误

问题描述 投票:0回答:1

当我在vscode中打开zsh时,它导出错误如下:

/var/folders/5g/6zj9tk192w35xr6p5c79rmw80000gn/T/myname-code-zsh/.zshrc:37: can't create temp file for here document: permission denied 

/var/folders/5g/6zj9tk192w35xr6p5c79rmw80000gn/T/myname-code-zsh/.zshrc:40: bad assignment

根据Gpt,我创建一个变体,然后进行分配。

 VARNAME="$(echo ${ITEM%%=*})"   VALUE="$(echo -e ${ITEM#*=})"   eval "export $VARNAME=\"$VALUE\""

结果是徒劳的,因为vscode似乎覆盖了这个zshrc,然后再次导出同样的错误。

对应代码如下:

# Apply EnvironmentVariableCollections if needed
if [ -n "${VSCODE_ENV_REPLACE:-}" ]; then
    IFS=':' read -rA ADDR <<< "$VSCODE_ENV_REPLACE"     # permission denied error
    for ITEM in "${ADDR[@]}"; do
        VARNAME="$(echo ${ITEM%%=*})"
            export $VARNAME="$(echo -e ${ITEM#*=})" # bad assignment
    done
    unset VSCODE_ENV_REPLACE
fi
if [ -n "${VSCODE_ENV_PREPEND:-}" ]; then
    IFS=':' read -rA ADDR <<< "$VSCODE_ENV_PREPEND"
    for ITEM in "${ADDR[@]}"; do
        VARNAME="$(echo ${ITEM%%=*})"
        export $VARNAME="$(echo -e ${ITEM#*=})${(P)VARNAME}"
    done
    unset VSCODE_ENV_PREPEND
fi
if [ -n "${VSCODE_ENV_APPEND:-}" ]; then
    IFS=':' read -rA ADDR <<< "$VSCODE_ENV_APPEND"
    for ITEM in "${ADDR[@]}"; do
        VARNAME="$(echo ${ITEM%%=*})"
        export $VARNAME="${(P)VARNAME}$(echo -e ${ITEM#*=})"
    done
    unset VSCODE_ENV_APPEND
fi
visual-studio-code zshrc
1个回答
0
投票

我今天在使用黑麦创建我的 venv 后遇到了这个问题。我发现这个 vscode-python 问题给我指出了解决方案:

  1. 退出 VSCode。

  2. 在您的主目录中,找到如下所示的目录:

    ~/.vscode/extensions/ms-python.python-2024.14.1-darwin-arm64/python_files/deactivate/zsh/
    
  3. chmod 0777 该目录中的文件“停用”。

    chmod 0777 ~/.vscode/extensions/ms-python.python-2024.14.1-darwin-arm64/python_files/deactivate/zsh/deactivate
    
  4. 重新启动 VSCode。

问题对我来说就消失了。

© www.soinside.com 2019 - 2024. All rights reserved.