Zenn始めました。はじめての記事なのでRustでHello, world!を書きます

4400 ワード

※備忘録的なものなので誰かに伝えるためというより自分用のアウトプットです。

RustとGitのインストールはもう終わっているものとします。

Githubにhelloworldという空のリポジトリを作成します。

C:\gitというディレクトリでGithubのリポジトリをクローンします。

C:\git>git clone https://github.com/rike1019/helloworld.git
C:\git\helloworld>cd ..

C:\git>cargo new helloworld
error: destination `C:\git\helloworld` already exists

Use `cargo init` to initialize the directory

C:\git>cargo init helloworld
     Created binary (application) package

Cargo newを使ってみましたがすでにディレクトリがあるのでエラーが出ました。

Cargo init helloworldを実行したら成功しました。

main.rsのソースコードは以下のようになっています。

fn main() {
    println!("Hello, world!");
}

cargo runを実行してみます。

C:\git\helloworld>cargo build
   Compiling helloworld v0.1.0 (C:\git\helloworld)
    Finished dev [unoptimized + debuginfo] target(s) in 10.80s

C:\git\helloworld>cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.03s
     Running `target\debug\helloworld.exe`
Hello, world!

Hello, world!が表示されました。

とりあえず環境構築はできました。

Githubにコミットしてみます。

C:\git\helloworld>git add src
warning: in the working copy of 'src/main.rs', LF will be replaced by CRLF the next time Git touches it

C:\git\helloworld>git add Cargo.toml
warning: in the working copy of 'Cargo.toml', LF will be replaced by CRLF the next time Git touches it

C:\git\helloworld>git add Cargo.lock
warning: in the working copy of 'Cargo.lock', LF will be replaced by CRLF the next time Git touches it

C:\git\helloworld>git add README.md
C:\git\helloworld>git commit -m "add"
Author identity unknown

*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'IKE@MAGNATE-IM.(none)')

ユーザー登録してなかったようです。

git config --global user.name "ユーザー名"
git config --global user.email メールアドレス

ユーザー登録を終えた後、再度コミットしてみました。

C:\git\helloworld>git commit -m "add"
[main 7694758] add
 3 files changed, 18 insertions(+)
 create mode 100644 Cargo.lock
 create mode 100644 Cargo.toml
 create mode 100644 src/main.rs

プッシュしてみました。

C:\git\helloworld>git push origin main
info: please complete authentication in your browser...
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 4 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (6/6), 700 bytes | 350.00 KiB/s, done.
Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/rike1019/helloworld.git
   157cdb3..7694758  main -> main

環境構築がとても難しかったです(小学生並みの感想)。