当我在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
我今天在使用黑麦创建我的 venv 后遇到了这个问题。我发现这个 vscode-python 问题给我指出了解决方案:
退出 VSCode。
在您的主目录中,找到如下所示的目录:
~/.vscode/extensions/ms-python.python-2024.14.1-darwin-arm64/python_files/deactivate/zsh/
chmod 0777 该目录中的文件“停用”。
chmod 0777 ~/.vscode/extensions/ms-python.python-2024.14.1-darwin-arm64/python_files/deactivate/zsh/deactivate
重新启动 VSCode。
问题对我来说就消失了。