根据installation instructions,运行时:
brew tap mongodb/brew
我收到以下错误:
Error: Invalid formula: /opt/homebrew/Library/Taps/mongodb/homebrew-brew/Formula/mongocli.rb
formulae require at least a URL
Error: Cannot tap mongodb/brew: invalid syntax in tap!
我确实遵守了先决条件(更新了 xcode
和 brew
)。我确保运行 brew update
和 brew doctor
。
此时,我在 mongodb/homebrew-brew repo 上寻找答案,看到了一个非常recent commit for the mongocli。
显然,它定义了带有 Intel 芯片但没有提及 Apple M1 芯片的 Mac 和 Linux 机器的 URL。目前这阻止了我点击 mongodb。您是否知道任何解决方法,或者我是否在某处犯了错误?
答案 0 :(得分:12)
刚遇到同样的问题...
转到 Finder > Utilities 并右键单击终端并选择“获取信息” 找到“使用 Rosetta 打开”选项并选中它。
打开新终端并运行“brew tap mongodb/brew” 完成后关闭终端并取消选中“使用 Rosetta 打开”,再次打开终端,然后运行“brew install mongodb-community@4.4”。
这对我有用,并且安装了 MongoDB。
答案 1 :(得分:1)
您可以通过在命令前加上前缀来简单地在 M1 macs 上运行 Rosetta 下的任何命令
arch -x86_64
对于您的用例尝试
arch -x86_64 brew tap mongodb/brew
brew install mongodb-community@4.4
答案 2 :(得分:0)
试试下面的命令
const elements = [1, 2, 3, 4, 5]
for (let item of Permutations(elements)) {
console.log(...item)
}
// note: this (OP's) algorithm use O(n**2) space afaict
function Permutations(elements) {
return handlePermutations([], elements)
function* handlePermutations(used, free) {
if (free.length == 0)
yield used;
else {
for (let i = 0; i < free.length; i++) {
let newUsed = used.concat(free[i]) // add element i from free to used
let newFree = free.filter((x, index) => index != i) // remove element i from free
yield* handlePermutations(newUsed, newFree);
}
}
}
}