0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windows で deno をビルドする

Last updated at Posted at 2024-10-20

やること

  1. Visual Studio build tools のパスを通す
  2. 開発者モードをオンにする

はじめに

deno を Windows でビルドしようとしたときに失敗したので必要な手順を残しておきます。
Windows で開発している人の一助になれば幸いです。

Visual Studio build tools のパスを通す

error: failed to run custom build command for `libz-sys v1.1.20`

Caused by:
  process didn't exit successfully: `%USERPROFILE%\AppData\Local\Temp\cargo-installvNqHIq\release\build\libz-sys-869690de956ef958\build-script-build` (exit code: 101)
  --- stdout
  cargo:rerun-if-env-changed=LIBZ_SYS_STATIC
  cargo:rerun-if-changed=build.rs
  cargo:rerun-if-changed=zng/cmake.rs
  cargo:rerun-if-changed=zng/cc.rs
  CMAKE_TOOLCHAIN_FILE_x86_64-pc-windows-msvc = None
  CMAKE_TOOLCHAIN_FILE_x86_64_pc_windows_msvc = None
  HOST_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_x86_64-pc-windows-msvc = None
  CMAKE_GENERATOR_x86_64_pc_windows_msvc = None
  HOST_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_x86_64-pc-windows-msvc = None
  CMAKE_PREFIX_PATH_x86_64_pc_windows_msvc = None
  HOST_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_x86_64-pc-windows-msvc = None
  CMAKE_x86_64_pc_windows_msvc = None
  HOST_CMAKE = None
  CMAKE = None
  running: "cmake" "%CARGO_HOME%\\registry\\src\\index.crates.io-6f17d22bba15001f\\libz-sys-1.1.20\\src/zlib-ng" "-G" "Visual Studio 17 2022" "-Thost=x64" "-Ax64" "-DBUILD_SHARED_LIBS=OFF" "-DZLIB_COMPAT=ON" "-DZLIB_ENABLE_TESTS=OFF" "-DWITH_GZFILEOP=ON" "-DCMAKE_INSTALL_PREFIX=%USERPROFILE%\\AppData\\Local\\Temp\\cargo-installvNqHIq\\release\\build\\libz-sys-f64c2b82c1fa3508\\out" "-DCMAKE_C_FLAGS= -nologo -MD -Brepro" "-DCMAKE_C_FLAGS_RELEASE= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS_RELEASE= -nologo -MD -Brepro" "-DCMAKE_ASM_FLAGS= -nologo -MD -Brepro" "-DCMAKE_ASM_FLAGS_RELEASE= -nologo -MD -Brepro" "-DCMAKE_BUILD_TYPE=Release"

  --- stderr
  thread 'main' panicked at %CARGO_HOME%\registry\src\index.crates.io-6f17d22bba15001f\cmake-0.1.50\src\lib.rs:1098:5:

  failed to execute command: program not found
  is `cmake` not installed?

  build script failed, must exit now
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

cmake が見つからずにエラーが発生してしまう場合はパスを通す必要があります。
Rust のインストール時に Visual Studio Build Tools をインストールしているはずですが、 cmd.exe を通常起動してもパスは通っていません。
スタートメニューから Developer Command Prompt を探すと各機能が使える状態で起動できるショートカットが見つかるので、そこから cmd.exe を起動しましょう。
cmake --versioncmake へのパスが通っていることが確認出来たら、そのシェルからビルドを実行します。

開発者モードをオンにする

Windows では開発者モードを有効にしないとビルドできない場合があるようです。

Windows10 では、
設定更新とセキュリティ開発者向け開発者モード

Windows11では、
設定システム開発者向け開発者モード

から切り替えることができます。

libclang.dll へのパスを通す

error: failed to run custom build command for `libsqlite3-sys v0.30.1`

Caused by:
  process didn't exit successfully: `%USERPROFILE%\AppData\Local\Temp\cargo-installJtNiZv\release\build\libsqlite3-sys-0c91121a2d754a43\build-script-build` (exit code: 101)
  --- stdout
  cargo:rerun-if-env-changed=LIBSQLITE3_SYS_USE_PKG_CONFIG
  cargo:rerun-if-env-changed=LIBSQLITE3_SYS_BUNDLING

  --- stderr

  thread 'main' panicked at %CARGO_HOME%\registry\src\index.crates.io-1949cf8c6b5b557f\bindgen-0.69.5\lib.rs:622:31:
  Unable to find libclang: "couldn't find any valid shared libraries matching: ['clang.dll', 'libclang.dll'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [])"
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: failed to compile `deno v2.2.3`, intermediate artifacts can be found at `%USERPROFILE%\AppData\Local\Temp\cargo-installJtNiZv`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

clang.dll または libclang.dll が見つからない場合はインストールしてパスを通す必要があります。
Visual Studio Installer のオプションで、 C++ Clang tools for WindowsWindows 用 C++ Clang コンパイラ) をインストールすると clang をインストールすることができます。
その後、 Developer Command Prompt で libclang.dll を探すと見つけることができるはずです。

cmd> where libclang.dll
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\Llvm\bin\libclang.dll

パスが通っているように見えるのですが、実はこの libclang.dll ではコンパイルすることができません。
Llvm ディレクトリ直下はなく、 Llvm/x64 配下のディレクトリを指定する必要があります。

cmd >rg --files -g **/*clang.dll
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\Llvm\bin\libclang.dll
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\Llvm\x64\bin\libclang.dll
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\Llvm\ARM64\bin\libclang.dll

cmd> set LIBCLANG_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\Llvm\x64\bin

cmd> cargo install --locked deno
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?