Directory
- 〇.Solution
- 1. Problem phenomenon
- 2. Try to solve
- 3. Start the service
- 4. Log in to the client
〇、Solution
To upgrade homebrew, the command is as follows:
brew update-reset
1. Problem
Install Redis through the command brew install redis
. The exception is as follows:
fatal: not in a git directory Warning: No remote 'origin' in /opt/homebrew/Library/Taps/homebrew/homebrew-services, skipping update! Warning: You are using macOS 14. We do not provide support for this pre-release version. It is expected behavior that some formula will fail to build in this pre-release version. It is expected behavior that Homebrew will be buggy and slow. Do not create any issues about this on Homebrew's GitHub repositories. Do not create any issues even if you think this message is unrelated. Any opened issues will be immediately closed without response. Do not ask for help from MacHomebrew on Twitter. You may ask for help in Homebrew's discussions but are unlikely to receive a response. Try to figure out the problem yourself and submit a fix as a pull request. We will review it but may or may not accept it. ==> Downloading https://www.openssl.org/source/openssl-1.1.1s.tar.gz Already downloaded: /Users/heyday/Library/Caches/Homebrew/downloads/c475ad5547bf6708c42aaf180620e38a33a1798ae3c6a59725b6bf60f52f2249--openssl-1.1.1s.tar.gz ==> Downloading https://download.redis.io/releases/redis-7.0.5.tar.gz Already downloaded: /Users/heyday/Library/Caches/Homebrew/downloads/1901d254697ab7e72b48bc6e85b1375acbbcfb740ee1eab1358b21ffa211c8ba--redis-7.0.5.tar.gz ==> Installing dependencies for redis: [email protected] ==> Installing redis dependency: [email protected] Error: An exception occurred within a child process: FormulaUnreadableError: perl: unknown or unsupported macOS version: :dunno
2. Try to solve
Refer to the blog post After brew reports an error after MAC upgrade, run the command brew update-reset
and the results are as follows:
==> Fetching /opt/homebrew... remote: Enumerating objects: 27472, done. remote: Counting objects: 100% (3242/3242), done. remote: Total 27472 (delta 3242), reused 3242 (delta 3242), pack-reused 24230 Receiving objects: 100% (27472/27472), 10.60 MiB | 13.25 MiB/s, done. Resolving deltas: 100% (18433/18433), completed with 1014 local objects. From https://mirrors.ustc.edu.cn/brew aea140c04..e57a87cfe master -> origin/master * [new tag] 3.6.14 -> 3.6.14 * [new tag] 3.6.15 -> 3.6.15 * [new tag] 3.6.16 -> 3.6.16 ... * [new tag] 4.1.7 -> 4.1.7 * [new tag] 4.1.8 -> 4.1.8 * [new tag] 4.1.9 -> 4.1.9 ==> Resetting /opt/homebrew... branch 'master' set up to track 'origin/master'. Reset branch 'master' Your branch is up to date with 'origin/master'. ==> Fetching /opt/homebrew/Library/Taps/homebrew/homebrew-cask... remote: Enumerating objects: 113910, done. remote: Counting objects: 100% (8170/8170), done. remote: Total 113910 (delta 8170), reused 8170 (delta 8170), pack-reused 105740 Receiving objects: 100% (113910/113910), 57.91 MiB | 22.36 MiB/s, done. Resolving deltas: 100% (85215/85215), completed with 1709 local objects. From https://mirrors.ustc.edu.cn/homebrew-cask d0ac851913..3233b1b002 master -> origin/master ==> Resetting /opt/homebrew/Library/Taps/homebrew/homebrew-cask... branch 'master' set up to track 'origin/master'. Reset branch 'master' Your branch is up to date with 'origin/master'. ==> Fetching /opt/homebrew/Library/Taps/homebrew/homebrew-core... remote: Enumerating objects: 330567, done. remote: Counting objects: 100% (19485/19485), done. remote: Total 330567 (delta 19485), reused 19485 (delta 19485), pack-reused 311082 Receiving objects: 100% (330567/330567), 148.87 MiB | 4.08 MiB/s, done. Resolving deltas: 100% (244544/244544), completed with 3769 local objects. From https://mirrors.ustc.edu.cn/homebrew-core cd5dc44cfa5..f348ed27b41 master -> origin/master ==> Resetting /opt/homebrew/Library/Taps/homebrew/homebrew-core... branch 'master' set up to track 'origin/master'. Reset branch 'master' Your branch is up to date with 'origin/master'. Warning: No remote 'origin' in /opt/homebrew/Library/Taps/homebrew/homebrew-services, skipping update and reset!
Check the homebrew version (brew --version
), the result is:
Homebrew 4.1.15 Homebrew/homebrew-core (git revision f348ed27b41; last commit 2023-10-10) Homebrew/homebrew-cask (git revision 3233b1b002; last commit 2023-10-09)
Final Solution
The above brew update-reset
upgrade command is the solution to this problem. After the homebrew upgrade is completed, re-run the Redis installation command brew install redis
. The results are as follows:
==> Downloading https://formulae.brew.sh/api/formula.jws.json ################################################ ################################################ ################################################ ######################## 100.0% ==> Downloading https://formulae.brew.sh/api/cask.jws.json ################################################ ################################################ ################################################ ######################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/redis/manifests/7.2.1-1 ################################################ ################################################ ################################################ ######################## 100.0% ==> Fetching dependencies for redis: ca-certificates and openssl@3 ==> Downloading https://ghcr.io/v2/homebrew/core/ca-certificates/manifests/2023-08-22 ################################################ ################################################ ################################################ ######################## 100.0% ==> Fetching ca-certificates ==> Downloading https://ghcr.io/v2/homebrew/core/ca-certificates/blobs/sha256:a331e92e7a759571296581f029e5cc2ec7cee70cd92dc0b5f8eb76095f94a21a ################################################ ################################################ ################################################ ######################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/openssl/3/manifests/3.1.3 ################################################ ################################################ ################################################ ######################## 100.0% ==> Fetching openssl@3 ==> Downloading https://ghcr.io/v2/homebrew/core/openssl/3/blobs/sha256:fd6e90e00f1c395feb60d0244eb66583caab494f8e0a0988afaa838511265d98 ################################################ ################################################ ################################################ ######################## 100.0% ==> Fetching redis ==> Downloading https://ghcr.io/v2/homebrew/core/redis/blobs/sha256:53943e914be8be83327314d5e23a550f4b6ee31cb4ebebe85e27aa1bce80968a ################################################ ################################################ ################################################ ######################## 100.0% ==> Installing dependencies for redis: ca-certificates and openssl@3 ==> Installing redis dependency: ca-certificates ==> Downloading https://ghcr.io/v2/homebrew/core/ca-certificates/manifests/2023-08-22 Already downloaded: /Users/heyday/Library/Caches/Homebrew/downloads/a8cd32e30cae0b7335779e93a6554f294f09485802fc253a3a8be441337a6115--ca-certificates-2023-08-22.bottle_manifest.json ==> Pouring ca-certificates--2023-08-22.arm64_sonoma.bottle.tar.gz ==> Downloading https://formulae.brew.sh/api/formula.jws.json -=O=- # # # # ==> Regenerating CA certificate bundle from keychain, this may take a while... /opt/homebrew/Cellar/ca-certificates/2023-08-22: 3 files, 221.7KB ==> Installing redis dependency: openssl@3 ==> Downloading https://ghcr.io/v2/homebrew/core/openssl/3/manifests/3.1.3 Already downloaded: /Users/heyday/Library/Caches/Homebrew/downloads/f038f540886a6a94c000296efb3058dc47e867eef00f0c6836b8ff310bc04daa--openssl@3-3.1.3.bottle_manifest.json ==> Pouring [email protected]_sonoma.bottle.tar.gz /opt/homebrew/Cellar/openssl@3/3.1.3: 6,495 files, 28.4MB ==> Installing redis ==> Pouring redis--7.2.1.arm64_sonoma.bottle.1.tar.gz ==> Caveats To start redis now and restart at login: brew services start redis Or, if you don't want/need a background service you can just run: /opt/homebrew/opt/redis/bin/redis-server /opt/homebrew/etc/redis.conf ==> Summary /opt/homebrew/Cellar/redis/7.2.1: 14 files, 2.4MB ==> Running `brew cleanup redis`... Disable this behavior by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`). Removing: /Users/heyday/Library/Caches/Homebrew/redis--7.0.5.tar.gz... (2.8MB) Removing: /Users/heyday/Library/Caches/Homebrew/redis--7.0.5... (1003.0KB) ==> Caveats ==>redis To start redis now and restart at login: brew services start redis Or, if you don't want/need a background service you can just run: /opt/homebrew/opt/redis/bin/redis-server /opt/homebrew/etc/redis.conf
At this point, Redis has been installed successfully!
3. Start the service
Next, you need to start the Redis service and log in to the client. The test is simple and practical.
Use the redis-server
command to start the Redis service. The startup results are as follows:
18066:C 10 Oct 2023 16:14:48.320 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 18066:C 10 Oct 2023 16:14:48.320 * Redis version=7.2.1, bits=64, commit=00000000, modified=0, pid=18066, just started 18066:C 10 Oct 2023 16:14:48.320 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf 18066:M 10 Oct 2023 16:14:48.320 * Increased maximum number of open files to 10032 (it was originally set to 256). 18066:M 10 Oct 2023 16:14:48.320 * monotonic clock: POSIX clock_gettime _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 7.2.1 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 18066 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | https://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 18066:M 10 Oct 2023 16:14:48.321 # WARNING: The TCP backlog setting of 511 cannot be enforced because kern.ipc.somaxconn is set to the lower value of 128. 18066:M 10 Oct 2023 16:14:48.322 * Server initialized 18066:M 10 Oct 2023 16:14:48.322 * Ready to accept connections tcp
4. Log in to the client
Log in to the client through redis-cli -p 6379 (or redis-cli)
. Test results:
127.0.0.1:6379> hset office id 16 name finance (integer) 2 127.0.0.1:6379> hget office (error) ERR wrong number of arguments for 'hget' command 127.0.0.1:6379> hget office id "16" 127.0.0.1:6379> hget office name "finance" 127.0.0.1:6379> set a 'bbb' OK 127.0.0.1:6379> get a "bbb"
Check the Redis information through the info
command. The result is:
127.0.0.1:6379> info # Server redis_version:7.2.1 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:7b8617dd94058f85 redis_mode:standalone os:Darwin 23.0.0 arm64 arch_bits:64 monotonic_clock:POSIX clock_gettime multiplexing_api:select atomicvar_api:c11-builtin gcc_version:4.2.1 process_id:18066 process_supervised:no run_id:ebee4f34c6d4a9765df9b2af8076613a363a4b4e tcp_port:6379 server_time_usec:1696927718666614 uptime_in_seconds:2030 uptime_in_days:0 hz:10 configured_hz:10 lru_clock:2428902 executable:/opt/homebrew/opt/redis-server config_file: io_threads_active:0 listener0:name=tcp,bind=*,bind=-::*,port=6379 #Clients connected_clients:1 cluster_connections:0 maxclients:10000 client_recent_max_input_buffer:16 client_recent_max_output_buffer:0 blocked_clients:0 tracking_clients:0 clients_in_timeout_table:0 total_blocking_keys:0 total_blocking_keys_on_nokey:0 #Memory used_memory:914816 used_memory_human:893.38K used_memory_rss:7110656 used_memory_rss_human:6.78M used_memory_peak:1130576 used_memory_peak_human:1.08M used_memory_peak_perc:80.92% used_memory_overhead:771176 used_memory_startup:769024 used_memory_dataset:143640 used_memory_dataset_perc:98.52% allocator_allocated:895120 allocator_active:7078912 allocator_resident:7078912 total_system_memory:68719476736 total_system_memory_human:64.00G used_memory_lua:31744 used_memory_vm_eval:31744 used_memory_lua_human:31.00K used_memory_scripts_eval:0 number_of_cached_scripts:0 number_of_functions:0 number_of_libraries:0 used_memory_vm_functions:32768 used_memory_vm_total:64512 used_memory_vm_total_human:63.00K used_memory_functions:216 used_memory_scripts:216 used_memory_scripts_human:216B maxmemory:0 maxmemory_human:0B maxmemory_policy:noeviction allocator_frag_ratio:7.91 allocator_frag_bytes:6183792 allocator_rss_ratio:1.00 allocator_rss_bytes:0 rss_overhead_ratio:1.00 rss_overhead_bytes:31744 mem_fragmentation_ratio:7.94 mem_fragmentation_bytes:6215536 mem_not_counted_for_evict:0 mem_replication_backlog:0 mem_total_replication_buffers:0 mem_clients_slaves:0 mem_clients_normal:1824 mem_cluster_links:0 mem_aof_buffer:0 mem_allocator:libc active_defrag_running:0 lazyfree_pending_objects:0 lazyfreed_objects:0 #Persistence loading:0 async_loading:0 current_cow_peak:0 current_cow_size:0 current_cow_size_age:0 current_fork_perc:0.00 current_save_keys_processed:0 current_save_keys_total:0 rdb_changes_since_last_save:3 rdb_bgsave_in_progress:0 rdb_last_save_time:1696925688 rdb_last_bgsave_status:ok rdb_last_bgsave_time_sec:-1 rdb_current_bgsave_time_sec:-1 rdb_saves:0 rdb_last_cow_size:0 rdb_last_load_keys_expired:0 rdb_last_load_keys_loaded:0 aof_enabled:0 aof_rewrite_in_progress:0 aof_rewrite_scheduled:0 aof_last_rewrite_time_sec:-1 aof_current_rewrite_time_sec:-1 aof_last_bgrewrite_status:ok aof_rewrites:0 aof_rewrites_consecutive_failures:0 aof_last_write_status:ok aof_last_cow_size:0 module_fork_in_progress:0 module_fork_last_cow_size:0 #Stats total_connections_received:2 total_commands_processed:11 instantaneous_ops_per_sec:0 total_net_input_bytes:527 total_net_output_bytes:409203 total_net_repl_input_bytes:0 total_net_repl_output_bytes:0 instantaneous_input_kbps:0.00 instantaneous_output_kbps:0.00 instantaneous_input_repl_kbps:0.00 instantaneous_output_repl_kbps:0.00 rejected_connections:0 sync_full:0 sync_partial_ok:0 sync_partial_err:0 expired_keys:0 expired_stale_perc:0.00 expired_time_cap_reached_count:0 expire_cycle_cpu_milliseconds:62 evicted_keys:0 evicted_clients:0 total_eviction_exceeded_time:0 current_eviction_exceeded_time:0 keyspace_hits:6 keyspace_misses:0 pubsub_channels:0 pubsub_patterns:0 pubsubshard_channels:0 latest_fork_usec:0 total_forks:0 migrate_cached_sockets:0 slave_expires_tracked_keys:0 active_defrag_hits:0 active_defrag_misses:0 active_defrag_key_hits:0 active_defrag_key_misses:0 total_active_defrag_time:0 current_active_defrag_time:0 tracking_total_keys:0 tracking_total_items:0 tracking_total_prefixes:0 unexpected_error_replies:0 total_error_replies:5 dump_payload_sanitizations:0 total_reads_processed:17 total_writes_processed:21 io_threaded_reads_processed:0 io_threaded_writes_processed:0 reply_buffer_shrinks:2 reply_buffer_expands:0 eventloop_cycles:19625 eventloop_duration_sum:2617787 eventloop_duration_cmd_sum:2100 instantaneous_eventloop_cycles_per_sec:9 instantaneous_eventloop_duration_usec:292 acl_access_denied_auth:0 acl_access_denied_cmd:0 acl_access_denied_key:0 acl_access_denied_channel:0 #Replication role:master connected_slaves:0 master_failover_state:no-failover master_replid:ab7606e5334f65e93b29c63f072666c60ab8186b master_replid2:0000000000000000000000000000000000000000 master_repl_offset:0 second_repl_offset:-1 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0 # CPU used_cpu_sys:2.177440 used_cpu_user:0.937600 used_cpu_sys_children:0.000000 used_cpu_user_children:0.000000 #Modules #Errorstats errorstat_ERR:count=5 #Cluster cluster_enabled:0 #Keyspace db0:keys=2,expires=0,avg_ttl=0
It can be seen that the version is 7.2.1, which is the latest stable version.