Repository: iterative/dvc

Issue:
install: "Cask 'dvc' is not installed." error
Installed DVC 0.64.0 via pkg on MacOS:

```console
$ dvc version
DVC version: 0.64.0
Python version: 3.6.5
Platform: Darwin-19.0.0-x86_64-i386-64bit
Binary: True
Cache: reflink - True, hardlink - True, symlink - True
Filesystem type (cache directory): ('apfs', '/dev/disk1s5')
Filesystem type (workspace): ('apfs', '/dev/disk1s5')
```

Cloned and changed into the cloned iterative/example-get-started project, and ran dvc pull twice. Second run:

```dvc
$ dvc pull
Error: Cask 'dvc' is not installed.
+----------------------------------------------------------+
|                                                          |
|            Update available 0.64.0 -> 0.66.0             |
|                Find the latest release at                |
|     https://github.com/iterative/dvc/releases/latest     |
|                                                          |
+----------------------------------------------------------+

Everything is up to date.                                                                                                                                     
```

I realize this may be a fixed bug but just double checking it's not related to the updater.


Discussion:
@jorgeorpinel I think it happens here https://github.com/iterative/dvc/blob/0.66.1/dvc/updater.py#L176 since we are not silencing the output. 
For the record, we can remove cask detection now, as we've abandoned it.
So one would need to delete https://github.com/iterative/dvc/blob/0.66.3/dvc/updater.py#L126 and this code block https://github.com/iterative/dvc/blob/0.66.3/dvc/updater.py#L173
I would like to work on it . 
@kss682 Sure, go ahead! 🙂 
Thanks guys. So to summarize, the outputmentioned in https://github.com/iterative/dvc/issues/2680#issuecomment-546743254 should be silenced and Cask detection should be removed, as mentioned in https://github.com/iterative/dvc/issues/2680#issuecomment-549063932). Right?

Resolving patch:
diff --git a/dvc/remote/s3.py b/dvc/remote/s3.py
--- a/dvc/remote/s3.py
+++ b/dvc/remote/s3.py
@@ -144,7 +144,7 @@ def _copy(cls, s3, from_info, to_info, extra_args):
         # multipart.
         #
         # If an object's etag looks like '8978c98bb5a48c2fb5f2c4c905768afa',
-        # then it was transfered as a single part, which means that the chunk
+        # then it was transferred as a single part, which means that the chunk
         # size used to transfer it was greater or equal to the ContentLength
         # of that object. So to preserve that tag over the next transfer, we
         # could use any value >= ContentLength.
diff --git a/dvc/updater.py b/dvc/updater.py
--- a/dvc/updater.py
+++ b/dvc/updater.py
@@ -123,7 +123,6 @@ def _get_update_instructions(self):
             "yum": "Run {yellow}yum{reset} update dvc",
             "yay": "Run {yellow}yay{reset} {blue}-S{reset} dvc",
             "formula": "Run {yellow}brew{reset} upgrade dvc",
-            "cask": "Run {yellow}brew cask{reset} upgrade dvc",
             "apt": (
                 "Run {yellow}apt-get{reset} install"
                 " {blue}--only-upgrade{reset} dvc"
@@ -169,14 +168,6 @@ def _get_darwin(self):
                 return "formula"
             else:
                 return "pip"
-
-        # NOTE: both pkg and cask put dvc binary into /usr/local/bin,
-        # so in order to know which method of installation was used,
-        # we need to actually call `brew cask`
-        ret = os.system("brew cask ls dvc")
-        if ret == 0:
-            return "cask"
-
         return None
 
     def _get_windows(self):


Test patch: