20200216のMacに関する記事は11件です。

AppleScriptとJavaScript

MacのWindowを操作したいと思い、AppleScriptを書き始めてみましたが、いまどき、JavaScript(JXA)に主流が写っているらしく…。結局、JavaScriptで書くことにしました。

オブジェクトにプロパティがわからず、サンプルコードをひたすら検索していましたが、
スクリプトエディタには、各アプリケーションのライブラリドキュメントが付いていることにいまさらのように気づく始末…。

スクリプトエディタの「ウィンドウ」→「ライブラリ」を開くとみれます。

スクリーンショット 2020-02-16 23.51.19.png

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Rails version: 6.0.2.1 新規アプリ作成〜サーバー立ち上げまで

Progate【Ruby on Rails5 道場コース I】に沿って
アウトプットも兼ねて実際にアプリ作成していこうと思いきや
ちょっとつまづいた部分があったので記録していきます。

新規アプリ作成

ターミナルでrails new 【新規作成したいアプリ名】を入力。
(例えば私の場合はrails new agametter_app)※ひたすら推しを崇める言葉をツイートするゴミアプリ

qiita.rb
$ rails new 【新規作成したいアプリ名】
qiita.rb
create  
      create  README.md
      create  Rakefile
      create  .ruby-version
      create  config.ru
      create  .gitignore
      create  Gemfile
         run  git init from "."
*
*
(省略)
*
*
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
         run  bundle exec spring binstub --all
* bin/rake: Spring inserted
* bin/rails: Spring inserted
       rails  webpacker:install
sh: node: command not found
sh: nodejs: command not found
Node.js not installed. Please download and install Node.js https://nodejs.org/en/download/

なんとか作成できたようです。
(後半辺りで「Node.jsダウンロードしろ」って言われてることに後から気付くという…。)

作成したアプリに入る

アプリ名の頭にcdを付けて入る

qiita.rb
$ cd 【新規作成したアプリ名】

※自分のユーザー名の後ろにアプリ名が入ればOK
        ↓  ↓  ↓
lancai@oja 【新規作成したアプリ名】 $

早速サーバーを立ち上げよう

railsのサーバーを立ち上げます。

qiita.rb
$ rails s

いい調子に進んでる…!

qiita.rb
=> Booting Puma
=> Rails 6.0.2.1 application starting in development 
=> Run `rails server --help` for more startup options
Exiting
Traceback (most recent call last):
    77: from bin/rails:3:in `<main>'
    76: from bin/rails:3:in `load'
    75: from /Users/lancai/agametter_app/bin/spring:15:in `<top (required)>'
    74: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    73: from 
*
*
(省略)
*
*
 1: from /Library/Ruby/Gems/2.6.0/gems/webpacker-4.2.2/lib/webpacker/configuration.rb:91:in `load'
/Library/Ruby/Gems/2.6.0/gems/webpacker-4.2.2/lib/webpacker/configuration.rb:95:in `rescue in load': Webpacker configuration file not found /Users/lancai/agametter_app/config/webpacker.yml. Please run rails webpacker:install Error: No such file or directory @ rb_sysopen - /Users/lancai/agametter_app/config/webpacker.yml (RuntimeError)
lancai@oja agametter_app % rails webpacker:install
sh: node: command not found
sh: nodejs: command not found
Node.js not installed. Please download and install Node.js https://nodejs.org/en/download/

「Node.js not installed. Please download and install Node.js https://nodejs.org/en/download/」

一番下の行でどうやら「Node.jsをダウンロードしろ」と命令されているようなので、指定されたURLに飛んでダウンロードします。
スクリーンショット 2020-02-16 22.17.37.png
自分が使用しているOSを選びます。

ダウンロードができたらインストールします。
(インストールできない場合は「システムの環境設定」→「セキュリティとプライバシー」→「一般」タブ→左下のカギアイコン→パスワード認証→ダウンロードしたアプリケーションの実行許可により、インストールが可能となります。)
スクリーンショット 2020-02-16 22.22.44.png

webpackerのインストール

さて、インストールが終わったのでターミナルに入力していきます。

qiita.rb
$ rails webpacker:install
qiita.rb
Yarn not installed. Please download and install Yarn from https://yarnpkg.com/lang/en/docs/install/

今度はYarnが必要みたいなので
下記を入力してインストールしていきます。

qiita.rb
$ brew install yarn
qiita.rb
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> New Formulae
awscli@1                                 katago
==> Updated Formulae
ruby-build                              jsonschema2pojo
abcmidi                                  kube-aws
*
*
(省略)
*
*
├─ unpipe@1.0.0
├─ utils-merge@1.0.1
├─ wbuf@1.7.3
├─ webpack-dev-middleware@3.7.2
├─ webpack-dev-server@3.10.3
├─ websocket-extensions@0.1.3
├─ ws@6.2.1
├─ yargs-parser@11.1.1
└─ yargs@12.0.5
  Done in 11.25s.
Webpacker successfully installed ? ?

わあ、絵文字がカワイイ…(ほっこり)

インストールが完了したので、サーバー立ち上げに戻ります。

qiita.rb
$ rails s
qiita.rb
=> Booting Puma
=> Rails 6.0.2.1 application starting in development 
=> Run `rails server --help` for more startup options
Puma starting in single mode...
* Version 4.3.1 (ruby 2.6.3-p62), codename: Mysterious Traveller
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://127.0.0.1:3000
* Listening on tcp://[::1]:3000
Use Ctrl-C to stop
Started GET "/home/top" for ::1 at 2020-02-16 21:23:36 +0900
   (3.2ms)  SELECT sqlite_version(*)
*
*
(省略)
*
*
puma (4.3.1) lib/puma/thread_pool.rb:134:in `block in spawn_thread'
Started GET "/" for ::1 at 2020-02-16 21:23:48 +0900
Processing by Rails::WelcomeController#index as HTML
  Rendering /Library/Ruby/Gems/2.6.0/gems/railties-6.0.2.1/lib/rails/templates/rails/welcome/index.html.erb
  Rendered /Library/Ruby/Gems/2.6.0/gems/railties-6.0.2.1/lib/rails/templates/rails/welcome/index.html.erb (Duration: 9.6ms | Allocations: 197)
Completed 200 OK in 13ms (Views: 10.6ms | ActiveRecord: 0.0ms | Allocations: 950)

スクリーンショット 2020-02-16 22.46.37.png

URL http://localhost:3000/
にアクセスして写真のようなページが表示されたらサーバーの立ち上げは無事成功!ということになります。

ひとまず、お疲れ様でした

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Mac向けハイパーバイザー(仮想化ソフト)を比較してみた

プライベートではMacを使っています。ただどうしてもWindowsでしか動かないアプリケーションが有ったり、サンドボックス的な用途で、かつGUIが有る環境という場合にVMを使いたいということも有ります。その時どのハイパーバイザーを選べば良いのか、実際に使ってみた感想も含めてまとめたいと思います。

執筆の動機

  • Mac向けのハイパーバイザーを選ぶ時に巷に出回っている情報だけで選んで買い直した経験が有るため
  • 巷の比較記事とは違う視点での比較記事を書いてみようと思ったため

※ この記事は筆者の主観が多分に含まれております。予めご了承下さい。

Mac向けの主なハイパーバイザー

Macで動作するハイパーバイザーでよく知られているのはVMware社の「VMware Fusion」、Parallels社の「Parallels Desktop」、そしてOSSとしても知られているOracle社の「VirtualBox」だと思います。比較記事でもよく取り上げられます。Windowsでもほぼこの3社+Windows標準搭載のHyper-V(Win10)だと思います。

主な特徴

以下の3種類について特徴をまとめてみたいと思います。

VMware Fusion

  • 現行最新バージョン: 11.5

仮想化製品の老舗VMware製のハイパーバイザー。Windows/Linuxに対応しているWorkstationシリーズと共に販売されている。Workstationシリーズと違い無料版(Player、以降通常版と記載)は無いが、(Pro、通常版共に)30日間のお試しは可能。1ライセンスで3台までインストール可能で通常版がPrallels Desktop 通常版と1,600円程度の差というのは大変嬉しい。また、Pro版・通常版共に永続ライセンスとして販売されているのが特徴。UIは正直好みが分かれるのではないかという印象。但し、Amazonや家電量販店でのパッケージ販売はされておらず、VMwareの公式サイトでの販売のみ。因みに筆者はPrallels Desktop 14(通常版)を愛用していたが、最近後述の事情により、Fusion Proに乗り換え済。

Prallels Desktop

  • 現行最新バージョン: 15

VMwareとは異なりMac専用のハイパーバイザーを開発しているベンダーの製品ということが特徴。様々な面でMacとの相性を最大の売りにしている印象。CoherenceモードというVM上のアプリケーションをさもMac上のアプリケーションの様に利用出来る機能は秀逸。また、FusionやVirtualBoxと比較して動作が重くなりにくい印象で、(通常版は)価格がFusionと比較して低価格で、公式通販以外にAmazonや家電量販店での取り扱いも有り、入手性も良いのも特徴。但し、無料版は無く14日間のお試し版のみ。筆者はMacを買った時のビックカメラのポイントで(通常版を)貰ったので、実質無料で愛用していた。但し、Pro版以上は永続ライセンスが無く、年額サブスクリプション契約となる。また、1ライセンスでインストール可能なのが1台のみ。

Oracle VirtualBox

  • 現行最新バージョン: 6.1.0

現在はOracleが開発を行っているハイパーバイザーOSS。最大の売りは何と言っても無料で利用出来ること。上記2つは一番安いPrallels Desktop 通常版でも8,345円程するため、VMを利用したいが出費は抑えたいと言う場合に有効な選択肢。Mac/Linux/Windowsで動作可能。無料で利用出来るため、技術書の演習環境構築を容易にするために付録としてVirtualBox用VMイメージが配布されている時が有る。但し、OSSであり、尚且つ研究開発で利用されることを想定しているため、上記2つと比較してオーバーヘッドが大きく、動作もかなり重く、GUI版のOSを動作させるのは厳しい印象。商用目的の利用の場合はオラクルからライセンスを購入。

比較サイトを探してみる

上記3種類のハイパーバイザーがどの様に比較されているのか、幾つか記事を取り上げたいと思います。

これらの記事を参照する限り、Prallels Desktop 通常版一択の様な気がします。現に筆者はこれらの記事を参照してPrallels Desktop 14通常版を入手し、愛用していました。VirtualBoxは矢張り動作が重い旨が記載されており、事実上Parallels vs Fusionの構図になっている印象です。

比較サイトに載っていないこと(使っての印象)

使ってみての印象を正直に述べたいと思います。

  • CoherenceモードはVMとMacで様々なリソース(dir含め)共有化が必要で有り、逆に不便な部分も有る。
  • Parallels Toolsという追加インストールするアドオンがVer14ではバグが有り、Linuxにインストール出来ないバグが有った。:rage:
  • 通常版はFusionやVirtualBoxと比較してVMの仮想ハードに関する設定事項が貧弱な印象(あまりカスタマイズ出来ない):tired_face:
  • 先述の通り、プロ版以上は永続ライセンスが無い。:confounded:
  • サブスクリプション版の場合、毎年9,000円以上するライセンス料を支払う必要が有る。:dizzy_face:
  • NestedVirtualization(後述)に通常版は対応していない。:scream:

Fusionに乗り換えた理由

筆者は最近Fusion Proに乗り換えました。理由はNested Virtualizationに通常版では対応しておらず、利用にはPro版やBusiness版が必要となるからです。

参考

Nested Virtualizationとは?

簡単に説明するとVMの中でVMを動作させること。語弊が有るかもしれませんが、「VMマトリョーシカ」が作れる機能です。ある専門書の演習環境をVM上に構築しようとした時に、一部の演習環境が既に著者によってVirtualBox用イメージとして配布されていたため、VMの中で更にVirtualBoxを実行させる必要が生じました。加えて、最近KVMの勉強をしようと考えており、LinuxのVM上で試そうと思っていたため、VMマトリョーシカ(Nested Virtualization)が必要となりました。因みにFusionやWorkstationは通常版でもNested Virtualizationに対応しています。

image.png
https://www.amazon.co.jp/Winterworm/dp/B077VK93B1/ref=sr_1_17 より

決め手となった割引販売

ParallelsはPro版以上は永続ライセンスが無いため、毎年ライセンス料を支払うサブスクリプション版一択となるため断念。Fusionを新規購入すると通常版でも9,000円以上するため諦めようかと思っていた矢先に、比較記事の項で取り上げたページ40%OFFでParrallelsから移行というページが紹介されていました。これは対応するバージョンのPrallelsのシリアルキーを持っているユーザーが割引価格でFusionを入手出来るサイトです。因みに通常版シリアルキーでFusion Proを割引価格で購入できるか試した所、問題無く40%OFFで購入できました。(支払いはクレジットカードの他、コンビニ振込にも対応)

まとめ

Mac向けのハイパーバイザーの比較を行ってみました。Nested Virtualizationというちょっと特殊な用途やライセンスの面で比較を行いました。今回の記事の内容はあくまで筆者個人の見解であり、用途や利用環境によってベストな選択肢は自ずと代わってくると思います。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

unityでとりあえずプレイヤーを動かすスクリプト

始めに

フライトゲームやFPSでプレイヤーを動かすスクリプトを書きました。
プレイヤーの動かし方が分からない人は必見です!
(これはmacで開発することが前提となっています)

下準備

  1. unityのnewを選択 スクリーンショット 2020-02-16 20.28.41.png
  2. Project nameを決めてCreate projectを押すスクリーンショット 2020-02-16 20.31.50.png
  3. Create -> 3D Object -> Planeをクリック、地面を作ります。 スクリーンショット 2020-02-16 20.45.42.png
  4. Create -> 3D Object -> Cube、今回はこれを動かします。 スクリーンショット 2020-02-16 20.46.41.png
  5. Cube -> Add Componentをクリック'Rigidbody'と検索Rigidbodyをクリックして追加する スクリーンショット 2020-02-16 20.54.18.png
  6. Main CameraをドラクアンドドロップでCubeに入れる
    スクリーンショット 2020-02-16 20.59.28.png
  7. ProjectのCreateからC#Scriptを選択してクリック
    スクリーンショット 2020-02-16 21.03.09.png
  8. デリートキーを押し、'Player_controller'と入力
    スクリーンショット 2020-02-16 21.44.32.png

  9. 作成したスクリプトをダブルクリックで開く
    スクリーンショット 2020-02-16 21.13.27.png
    これで下準備はOKです。

スクリプト

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player_controller : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKey(KeyCode.UpArrow))
        {
            transform.position += new Vector3(0,0,0.1f);
        }
        if (Input.GetKey(KeyCode.DownArrow))
        {
            transform.position += new Vector3(0,0,-0.1f);
        }
        if (Input.GetKey(KeyCode.RightArrow))
        {
            transform.position += new Vector3(0.1f,0,0);
        }
        if (Input.GetKey(KeyCode.LeftArrow))
        {
            transform.position += new Vector3(-0.1f,0,0);
        }
    }

}

開いたプログラムの内容を全て削除して上のスクリプトをコピペしてコマンドSで保存。
unityに戻りこのスクリプトをCubeにドラクアンドドロップをする。
これで上の三角のボタンを押せば終了です。
もし、Cubeにスクリプトを入れられなかったらスクリプトを右クリック -> Remameを押して'Player_controller'と入れてみてください!

最後に

最後まで見てくださってありがとうございます。
Qiitaは始めたばかりなので間違っていたら遠慮なく指摘してください!よろしくお願いします。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Raspberry Pi と Mac で MQTT

概要

MQTTについて 理解する必要がでてきたので,ラズパイとMacで通信してイメージを掴みたい

Raspberry Pi

  • ラズパイにmosquiito と mosquiito_clientsをインストールした
  • Man に mosquittoをインストールした
  • ラズパイで Brokerを起動
  • Macでmosquitto_sub -h 192.168.11.13 -t tp1/test を起動(受信の準備)
  • ラズパイで mosquitto_pub -h localhost -t tp1/test -m Hello を実行(データの送信)
  • Macのターミナルで受信を Hellow 確認

基にしたサイト

私のYouTubeチャンネル

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Finder上に絶対パスを表示させる

Finerでファイル操作をするとき、表示している階層がわからないのが非常に不便だと感じたので、以下のような感じでFinderのメニューの欄に常に絶対パスを表示させる設定をした。

スクリーンショット 2020-02-16 16.24.14.png

1.ターミナルを開く
2.ターミナル上で以下のコマンドを叩く
$ defaults write com.apple.finder _FXShowPosixPathInTitle -boolean true
3.Finder再起動
$ killall Finder

これデフォルトではディレクトリ名のみが表示されていたのが、フルパス表示されるようになりました。

元の状態に戻したい時(おまけ)

やっぱり元の状態に戻したい!ってなったときも以下の手順で簡単に元の状態に戻せます。

以下のコマンド叩く。

$ defaults write com.apple.finder _FXShowPosixPathInTitle -boolean false

同じようにFinder再起動

$ killall Finder

参考

https://pc-karuma.net/mac-finder-fullpath/

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

laravelインストールからnginx起動してindex.phpを表示するまで

laravel環境構築

(1)Homebrewのインストール

1.こちらのリンクをコマンドラインでうつ。
2.バージョンを確認。

$ brew -v

Homebrew 2.2.5

(2)composerのインストール

composerとは、PHPで使用するライブラリやパッケージを管理するツールのこと。

1.composeインストール

$ brew install composer

2.バージョンを確認

$ composer -v
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.9.3 2020-02-04 12:58:49

(3)laravelのインストール

1.laravelのインストーラをダウンロード

$ composer global require "laravel/installer"

2.laravelがあるか確認

$ cd ~/.composer/vendor/bin
$ ls

laravel

3.laravelコマンドを使えるようにする

$ export PATH="$PATH:/Users/<UserName>/.composer/vendor/bin"

※には自分のmacのユーザー名を入力。

4.バージョンを確認

$ laravel -v

Laravel Installer 2.3.0

(4)laravelのディレクトリ作成

適当な所に作成。

$ cd ~/src/
$ laravel new laravel_sample

※laravel new <ディレクトリ名>とすると必要なパッケージがすべて揃い、laravelの環境が整う。

(5)nginxのインストール

1.brewでインストール

$ brew install nginx

2.バージョン確認

$ nginx -v

nginx version: nginx/1.17.8

(6)php-fpm(php72)をインストール

php-fpmとは、nginxでphpを動かす際に必要なサーバのこと。

$ brew install php72

(7)nginx.confの設定を変更する

$ cd /usr/local/etc/nginx/
$ vi nginx.conf

▼変更前

        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

▼変更後

location ~ \.php$ {
            root           /usr/local/var/www;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/var/www$fastcgi_script_name;
            include        fastcgi_params;
        }

nginxとphp-fpmの起動

nginxの起動
$ brew services start nginx

phpの起動
$ brew services start php@7.2

動作確認

以下のURLにアクセスする
http://127.0.0.1:8080/

ここまででnginxの動作は確認できた!!!
次からはindex.phpを表示させていく。。。。

スクリーンショット 2020-02-16 11.09.09.png

nginx.configの設定変更

$ cd /usr/local/etc/nginx/
$ vi nginx.conf
変更1

▼変更前

location / {
            root   html;
            index  index.html index.htm;
        }

▼変更後

location / {
            root /usr/local/var/www/;
            index index.php index.html
            try_files $uri $uri/ /index.php;
        }
変更2

▼変更前

location ~ \.php$ {
            root html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

▼変更後

location ~ \.php$ {
            root /usr/local/var/www/xxxx/public;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

nginxを再起動

$ brew services restart nginx

動作確認

http://127.0.0.1:8080/

スクリーンショット 2020-02-16 11.22.01.png

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

TablePlusを使ってSELECT結果をMarkdown Table形式でコピー

TablePlusを使って、SELECT結果をMarkdown Table形式で大変手軽にコピーできた。
今時のSQLクライアントではこのくらい普通にできるのかもしれないけれど、私が感動したので。

検索結果を全体選択して右クリックで、「Copy Rows As」→「Markdown Table」でコピー。

スクリーンショット 2020-02-16 10.31.42.png

あとは、Qiitaに貼り付けるだけ。

| week_code |
|-----------|
| WK202005  |
| WK202006  |
| WK202007  |
| WK202008  |
| WK202009  |
| WK202010  |
| WK202011  |
week_code
WK202005
WK202006
WK202007
WK202008
WK202009
WK202010
WK202011

Qiitaに記事を書いて、さあSELECTの結果がタブ区切りかカンマ区切りで取得できるはずだから、どうにかしてMarkdown Table形式に、と思っていたら、そんなことをする必要はなかった。
素晴らしい。

TablePlus は無料で利用できる。
無料の場合はタブが2つまで、ウィンドウが2つまで、アドバンスドフィルター(どんな機能か私はよくわかっていない)が2つまでという制約がある。また、この制約は変更される可能性がある。

今、これだけ便利に使えれば十分なので、大変ありがたい。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

QCADをmacで使う

QCADはDXFをそのまま扱う,最近お気に入りの2次元CADソフトです。

Windows版で,Community Editionとして使う方法がありまして,

https://drafting.hito-log.com/2019/04/10/post-22/

Macにおいても,表示される以下を削除すれば良さそうです。

スクリーンショット 2020-02-15 17.18.55.png

これらはアプリ本体を「パッケージの中身を表示」すると見えました。

CADソフトは,データの概念や操作方法を習得するのがすこし時間がかかります。それでも,QCADは割と素直かと思います。

ショートカットキーが充実しておりまして,
https://qcad.org/archives/shortcuts/shortcuts_en.pdf

オブジェクトを選択して[M][V]とタイプすることで,移動モードにできます。回転は[R][O]です。これを覚えるだけで,かなり作業が早くなります。

オブジェクトをまとめるのに,「レイヤー」と「ブロック」という2つの概念があります。併用すると少しトラブルを起こすようなので,私はなるべく「レイヤー」に限定して使うようにしています。「現在のレイヤーにペースト」といったシャレた機能はないようでして,その場合はペースト前のレイヤー名を揃えておくと良いようです。

本家ページ

https://qcad.org/en/

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

zshにPATHを通す方法

どうもこんにちはしゅうといいます。
最近Laravelの学習をしています。Laravelのコマンドを使う際にホームにパスを通したほうが後々の作業が楽だと思いターミナルでパスを打ち込みました。
しかし、ターミナルを再起動したらホームからLaravelのコマンドが使えないのであれ?と思い、原因をずっと調べていました。
やっと昨日解決したのでここにまとめておこうと思います。

達成したいこと

zshにLaravelのPATHを通してホームディレクトリからLaravelコマンドを使えるようにする。

発生している問題

下記のPATHをターミナルに打ち込む。

export PATH="$PATH:$HOME/.composer/vendor/bin"

そして下記のコマンドを打つことで、PATHが保存され再起動した後もホームからLaravelコマンドが使えるはず、、、

source ~/.zshrc

しかし、僕の場合は保存されませんでした。(原因はわかりません。)

解決方法

まずホームディレクトリに移動します。

cd ~

次に、下記のコマンドでディレクトを一覧を表示します。
(ターミナルでコマンドを打つ際はオプションというものをつけることができます。今回の場合は[-a]です。これは隠しファイルも表示するオプションになります。色々あるので調べてみるのもいいかもしれません。)

ls -a

表示されたもののなかに.zshrcというのもがあると思います。
これを編集していきます。

下記のコマンドを打つことでテキストエディタを開いてzshrcを編集することができると思います。

open .zshrc

ファイルが開いたと思います。(開かない場合はわかりません)
僕の場合は#environment paths以下のコードがありませんでした。
このファイルにPATHを追加してsource ~/.zshrcをターミナルで入力することで
ターミナルを再起動してもホームディレクトリからlaravelコマンドが使えるようになります。

.zshrcファイルの中身
#
# Executes commands at the start of an interactive session.
#
# Authors:
#   Sorin Ionescu <sorin.ionescu@gmail.com>
#

# Source Prezto.
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then
  source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
fi

# Customize to your needs...

# environment paths(ここでパスを追加します)
# Larvel
export PATH="$PATH:$HOME/.composer/vendor/bin"
#PostgreSQL
export PATH=“$PATH:/usr/local/Cellar/postgresql/12,1”

まとめ

最近Macの標準ターミナルがbashからzshへと変わりました。
bashの設定をzshに移す作業をしてないのでそれがPATHが追加されなかった原因かもしれません。

homebrewで管理しようと思いhomebrewからzshをインストールし、zshのフレームワークであるpreztoを導入する際にいろいろなファイルを移動したり消したのが原因かもしれません。

一つコマンドを打つことで様々な操作ができる反面、初学者にとってはやっている意味がわからないとめんどくさいことになります。
ターミナルでいろいろ設定するときはしっかりそのコマンドの意味や、影響などを調べてから行うべきということを学びました。

下記の本でターミナルの勉強することにしました。
https://www.amazon.co.jp/dp/B01NBK3TCY/ref=cm_sw_em_r_mt_dp_U_hKjsEbBHYD9TA

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【MacOS】やろうよLaravel環境設定

目的

LaravelをMacにインストールしたので、備忘録です。
完全初心者向けに書いているので、初めての方も是非参考にしてみてください。

この記事で出来ること

  • Laravel、Composer、PHPをインストールすることが出来ます。
  • Laravelを使ってプロジェクトを作成出来ます。
  • Laravelで作ったプロジェクトをWEBブラウザで表示出来ます。

使用する環境

MacOS 10.15.2
Laravel 6.15.1
PHP 7.3.14

環境構築編

Homebrewをインストールしよう

https://brew.sh/index_ja

ターミナルに指定のコマンドを流し、(念のため)下記のコマンドを流してください。

brew update

PHPを入れてみよう

brew install php@7.3

ポイント

・phpはusr/local/etc/php/7.3/以下に設定ファイル入る
・念のためバージョン確認してみましょう。

php -v

Composerを入れてみよう

https://getcomposer.org/

Get Started => Downloading the Composer Executable => Globally => the Download page instructions
下記URLに記載されているコマンドを順に実行します。(一個ずつ!)

https://getcomposer.org/download/

usr/local以下に配置してあげましょう。(コマンドラインから使えるようにします。)

mv composer.phar /usr/local/bin/composer

Laravelを入れてみよう

Laravelをインストール。
https://readouble.com/laravel/4.2/ja/quick.html

※ここらへんで詰まることあるので、参考記事
https://qiita.com/Shogo1992/items/6b6609087f97bff717c7

composer global require laravel/installer

環境変数に追加
ホームディレクトリに移動してください。

cd ~

環境変数を設定するファイル(.bash_profile)があるか確認し、変数追加してください。

vi .bash_profile

eを入力するとEdit出来ます。終わったらesc押して:qで離脱)
これを追加

export PATH="$HOME/.composer/vendor/bin:$PATH"

変数を有効化しましょう。

source .bash_profile

プロジェクト作成編

プロジェクトを作成してみよう

プロジェクト名を決めてプロジェクトを作成しよう。
※プロジェクトとは
Laravelの標準セットが備わった一つのフォルダを作成することです。
ここにLaravelで必要なソースコードがインストールされています。

composer create-project laravel/laravel 【プロジェクト名】

作成されるフォルダ説明

  • app(処理を記述)
  • config(各種設定ファイル)
  • database(データベース設定)
  • public(ファビコンなど)
  • resources(view)
  • storage(データを保存)
  • tests(ユニットテスト)
  • vendor(外部のライブラリを格納)

サーバーを起動してみよう

php artisan serve

localhost:8000にブラウザからアクセスしてみよう。

無事Laravelのロゴ画面が表示されたら完了です。お疲れ様でした。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む