這幾天嘗試在新的 Windows 電腦上灌 Julia 跟其 VSCode 環境,結果怎樣都跑不起來
於是嘗試了可能有五天多,發現:
Activating project at `c:\Users\我的名字\.vscode\extensions\julialang.language-julia-1.48.1\scripts\environments\languageserver\v1.9`
[ Info: Starting the Julia Language Server
ERROR: failed to emit output file �b�h�줸�ժ��ت��r�X�����A�S���o�� Unicode �r���i�H�����쪺�r���C
fatal: error thrown and no exception handler available.
ErrorException("cannot open system image file "c:\Users\?的名�\AppData\Roaming\Code\User\globalStorage\julialang.language-julia\lsdepot\v1\compiled\v1.9\JSON\jl_4322.tmp" for writing")
ijl_errorf at C:/workdir/src\rtutils.c:77
ijl_write_compiler_output at C:/workdir/src\precompile.c:143
ijl_atexit_hook at C:/workdir/src\init.c:258
jl_repl_entrypoint at C:/workdir/src\jlapi.c:718
mainCRTStartup at C:/workdir/cli\loader_exe.c:59
BaseThreadInitThunk at C:\Windows\System32\KERNEL32.DLL (unknown line)
RtlUserThreadStart at C:\Windows\SYSTEM32\ntdll.dll (unknown line)
ERROR: LoadError: Failed to precompile JSON [682c06a0-de6a-54ab-a142-c8b1cf79cde6] to "c:\\Users\\我的名字\\AppData\\Roaming\\Code\\User\\globalStorage\\julialang.language-julia\\lsdepot\\v1\\compiled\\v1.9\\JSON\\jl_4322.tmp".
Stacktrace:
[1] error(s::String)
@ Base .\error.jl:35
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
@ Base .\loading.jl:2300
[3] compilecache
@ .\loading.jl:2167 [inlined]
[4] _require(pkg::Base.PkgId, env::String)
@ Base .\loading.jl:1805
[5] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base .\loading.jl:1660
[6] macro expansion
@ .\loading.jl:1648 [inlined]
[7] macro expansion
@ .\lock.jl:267 [inlined]
[8] require(into::Module, mod::Symbol)
@ Base .\loading.jl:1611
[9] include
@ .\Base.jl:457 [inlined]
[10] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
@ Base .\loading.jl:2049
[11] top-level scope
@ stdin:3
in expression starting at c:\Users\我的名字\.vscode\extensions\julialang.language-julia-1.48.1\scripts\packages\LanguageServer\src\LanguageServer.jl:1
in expression starting at stdin:3
The Language Server failed to precompile.
Please make sure you have permissions to write to the LS depot path at
c:\Users\我的名字\AppData\Roaming\Code\User\globalStorage\julialang.language-julia\lsdepot\v1
┌ Error: Some Julia code in the VS Code extension crashed
└ @ Main c:\Users\我的名字\.vscode\extensions\julialang.language-julia-1.48.1\scripts\error_handler.jl:15
ERROR: Failed to precompile LanguageServer [2b0e0bc5-e4fd-59b4-8912-456d1b03d8d7] to "c:\\Users\\我的名字\\AppData\\Roaming\\Code\\User\\globalStorage\\julialang.language-julia\\lsdepot\\v1\\compiled\\v1.9\\LanguageServer\\jl_41DA.tmp".
Stacktrace:
[1] top-level scope
@ c:\Users\我的名字\.vscode\extensions\julialang.language-julia-1.48.1\scripts\languageserver\main.jl:77
[2] include(mod::Module, _path::String)
@ Base .\Base.jl:457
雖然我知道程式盡量要避免中文路徑,但我其他 work 都已經在電腦上了不方便直接大改。而且目前 Python 等其他程式都沒遇到這種問題,我不可能捨本逐末,還是希望根本性的解決問題。
就我知道的 Julia 的程式跟 Python 不一樣都是 compile 出來的,請問各位如果遇到這種路徑問題是否能夠去重新編譯 Julia 的程式讓路徑不要因為編碼斷掉或顯示錯誤的之類呢?(Julia 號稱程式內都已經可以支援 unicode 跟 latex 領先其他語言了,在這種地方如果沒辦法解決似乎有點說不過去 Q_Q)
懇求各位大佬們了 <(_ _)> 感激不盡
是說如果會遇到這種問題一開始就跟 Mac 一樣強制把使用者名稱轉英文不就好了,不要人家驗機把我取中文名現在才出這種事;Mac 中文名字資料夾還是英文啊,而且 unix-like shell 要 debug 好 de 多了……要不是我沒錢只能買 Windows T_T
可以去Julia Taiwan問
應該比較快得到正解
Julia Taiwan 發起人杜岳華先生