marcopagot
@marcopagot (Asuka)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

一生データサイエンス100本ノックが出来ず悲しみに打ちひしがれています。

解決したいこと

データサイエンス100本ノックをやりたい。

現状)
記事を読んで頂きありがとうございます。
python、機械学習初学者です。
この度、データサイエンティスト協会が無料で公開している100本ノックをやろうと!意気込んでいたのですが一生エラーが出て出来ずにいます。

Github上で公開されている「Install」の手順に則り
①git clone(URL)
②cd 100knocks
にデータを格納するところまで成功しました。
DockerDesktopに関しては元々 aplicationフォルダにインストール済みでしたので
③docker-compose -d --buildをすると
/usr/local/bin/docker-compose: line 1: Not: command not found
(base) 8skiphone@8sknoMacBook-Pro 100本ノック % ls
上記エラーが出ます。
さまざまな方に助言を頂いたのですが、助言通りに修正しようとしても永遠にエラーが出続けています、、、。
知見のある方、アドバイス等頂けたら幸いです。

発生している問題・エラー

(base) 8skiphone@8sknoMacBook-Pro ~ % cd Desktop               
(base) 8skiphone@8sknoMacBook-Pro Desktop % cd 100本ノック
(base) 8skiphone@8sknoMacBook-Pro 100本ノック % docker-compose -d --build
/usr/local/bin/docker-compose: line 1: Not: command not found
(base) 8skiphone@8sknoMacBook-Pro 100本ノック % ls
100knocks-preprocess
(base) 8skiphone@8sknoMacBook-Pro 100本ノック % sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Password:
ln: /usr/bin/docker-compose: Read-only file system
(base) 8skiphone@8sknoMacBook-Pro 100本ノック % docker-compose version   
/usr/local/bin/docker-compose: line 1: Not: command not found
(base) 8skiphone@8sknoMacBook-Pro 100本ノック % csrutil status  
System Integrity Protection status: disabled.
(base) 8skiphone@8sknoMacBook-Pro 100本ノック % sudo mount -uw /         
mount_apfs: volume could not be mounted: Permission denied
mount: / failed with 66
(base) 8skiphone@8sknoMacBook-Pro 100本ノック % 

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

上記内容をターミナルで実行すると
Operation not permittedと出ます、、、
システム環境設定のフルディスクアクセスでターミナルを許可しても
sudoの際にOperation not permittedが出続けます、、、
解決方法をご存知の方がいらっしゃいましたら
何卒ご教示の程宜しくお願い致します。

ps.同じような内容の記事をあげているのでそちらも参考にして頂けると大変ありがたいです。
https://qiita.com/marcopagot/questions/0d7304a69cb793fcfb1a

0

1Answer

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

上記内容をターミナルで実行すると
Operation not permittedと出ます、、、
システム環境設定のフルディスクアクセスでターミナルを許可しても
sudoの際にOperation not permittedが出続けます、、、

これはやるべきではありませんし、やる意味もありません。

/usr/local/bin/docker-compose: line 1: Not: command not found

/usr/local/bin/docker-compose が壊れています。中身が実行ファイルではなく Not から始まるただのテキストファイルになっているようです。 curl か何かで docker-compose をインストールしようとして失敗した結果のように見えます。

Docker Desktop を再インストールしてください。正しい docker-compose も一緒にインストールされるはずです。


sudo 〜に関してはこの回答を参考にされたようですね。

この方法は Linux では動きますが最近の macOS では動きません。そもそもパスを通すためにシンボリックリンクを作るのは真っ当な方法ではありません。

さらに言えば、パスが通っていないという指摘も間違いです。もしそうなら

zsh: command not found: docker-compose

というエラーになるはずです。

1Like

Comments

  1. @marcopagot

    Questioner

    @usai様
    大変丁寧な回答ありがとうございます。
    dockerデスクトップを再度インストールしてみます。
  2. @marcopagot

    Questioner

    @usai様
    再三申し訳ありません。
    docker desktop (appleチップを搭載したmac)を再度インストールしました。
    同じような行程で再度、terminalでいじったところ、下記エラーが出たのですが、、、
    原因は分かりますでしょうか。。。
    (base) 8skiphone@8sknoMacBook-Pro ~ % cd Desktop
    (base) 8skiphone@8sknoMacBook-Pro Desktop % cd 100本ノック
    (base) 8skiphone@8sknoMacBook-Pro 100本ノック % ls
    100knocks-preprocess
    (base) 8skiphone@8sknoMacBook-Pro 100本ノック % cd 100knocks-preprocess
    (base) 8skiphone@8sknoMacBook-Pro 100knocks-preprocess % docker-compose up -d --build

    zsh: command not found: docker-compose

    ##この段階でdockerのアプリを開きました。
    (base) 8skiphone@8sknoMacBook-Pro 100knocks-preprocess % docker-compose up -d --build

    Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
    (base) 8skiphone@8sknoMacBook-Pro 100knocks-preprocess % service start docker
    zsh: command not found: service
    (base) 8skiphone@8sknoMacBook-Pro 100knocks-preprocess % systemctl start docker
    zsh: command not found: systemctl

    解決方法をご存知でしたら、ご教示の程宜しくお願いします。
  3. Cannot connect to the Docker daemon... エラーが出たということは、 docker-compose は正しくインストールできたようですね。
    エラーは Docker が起動していないことを表します。 Docker Desktop を開いてウインドウ左下が緑色の RUNNING になるまで待ってからもう一度試してください。
  4. service start docker, systemctl start docker は Linux でしか使えません。

Your answer might help someone💌