我无法让 Sveltekit 从
.env
读取最新值。
关于这些旧值从何而来有什么帮助吗?
我尝试过以下方法:
1.
import { SALESFORCE_CLIENT_SECRET, SALESFORCE_CLIENT_ID, SALESFORCE_CALLBACK_URI_BASE } from '$env/static/private'
import { env } from '$env/dynamic/private'
console.log('meta.env.DEV-->', import.meta.env.DEV.valueOf());
console.log('settings-static-->', SALESFORCE_CALLBACK_URI_BASE)
console.log('settings-dynamic-->', env.SALESFORCE_CALLBACK_URI_BASE)
console.log('settings-process.env->', process.env.SALESFORCE_CALLBACK_URI_BASE)
都展现出“旧价值观”
我输入了
node
并显式地将 process.env.SALESFORCE_CALLBACK_URI_BASE
设置为新值,但是当我运行 npm run dev
时,该值被覆盖。
我明确安装了
dotenv
软件包。
我的
.env
文件位于项目的基础上,我还使用正确的值创建了第二个 .env.local
。
我重新启动了 VSCode。
在
svelte.config.js
中我添加了 env
属性。
const config = {
preprocess: vitePreprocess(),
kit: {
env: {
dir: '.',
},
adapter: adapter()
}
};
.svelte-kit/
和 node_modules/.vite
并使用了 npm run dev
。上述步骤是相互独立完成的,但不起作用。
我意识到这些价值观在我的 bash 中得到了保留
env
。
您可以通过在终端中输入以下内容来打印它
env
从这个 GH 评论到我的 VSCode 集成 zsh 终端的“显示环境贡献”,我检查了
ms-python.python
VSCode 扩展有一个
激活了带来这些值的~/.pyenv/versions/3.10.2/bin/python
环境。 (也许来自早期的项目?我不确定它们来自哪里。)
所以我用这个SO答案来取消设置那些“旧值”。
unset SALESFORCE_CALLBACK_URI_BASE
在这之后,正确地读取我的价值观。 还是有点奇怪,为什么在 TS/JS 项目中 python 解释器值会受到干扰。