在开发中,您不在此处执行升级。
罗伯特,您好,感谢您的回复。执行升级是否只需要“git pull”?(在开发中)
是的,但别忘了 gem 和 migration:
git pull
bundle install
rake db:migrate
脚本似乎出了点问题,它无法安装 brew。
(这是在一台全新的 Mac Air M2 上)
在我自己安装 brew 之后,一切都顺利进行了 ![]()
请注意,脚本安装的是 Ruby 3.1.3 版本,然后 bundle exec 会抱怨你没有使用 3.2.1 ![]()
[警告] Discourse 建议使用 Ruby v3.2.1 或更高版本进行开发。您正在使用 v3.1.3。
不再是这样了!![]()
由于某种原因,它无法安装 Ruby。我一直收到这个:
构建失败(macOS 12.5.1 使用 ruby-build 20230309)
检查或清理工作目录 /var/folders/f6/95l6wylj4d11_jyvyp7r9yd40000gn/T/ruby-build.20230320012216.80048.RdOmWC
结果已记录到 /var/folders/f6/95l6wylj4d11_jyvyp7r9yd40000gn/T/ruby-build.20230320012216.80048.log
最后 10 行日志:
检查 ext/psych/mkmf.log 以获取更多详细信息。
*** 修复问题,然后删除这些目录并重试(如果您愿意)。
正在生成 RDoc 文档
/private/var/folders/f6/95l6wylj4d11_jyvyp7r9yd40000gn/T/ruby-build.20230320012216.80048.RdOmWC/ruby-3.2.1/lib/yaml.rb:3: warning: 您的 Ruby 安装似乎缺少 psych(用于 YAML 输出)。
要消除此警告,请安装 libyaml 并重新安装您的 Ruby。
糟糕!RDoc 遇到问题:
无法加载文件 -- psych
使用 --debug 运行以获取完整回溯
make: *** [rdoc] Error 1
失败
有人能帮帮我吗?
我在 MacOS 13.2.1 上也遇到了同样的问题。
此页面是 Google 搜索此错误消息(或其部分内容)时唯一的结果,因此,如果其他人再次遇到此错误:
今天在升级到当前版本的 Ruby (3.2.1)、Rails (7.0.4.3) 和包括 mini_racer (0.6.3) 在内的所有 Gemfile 依赖项后,运行 rails s 时遇到了此问题。
在遵循 此 GitHub 评论 中的建议后,问题得以解决:在 .../3.2.0/gems/mini_racer-0.6.3/ext/mini_racer_extension 中运行 make,然后将生成的 mini_racer_extension.bundle 复制到 .../3.2.0/extensions/x86_64-darwin-22/3.2.0/mini_racer-0.6.3。
我终于设法成功通过了构建错误(我不记得我做了什么……),但现在我卡在了:
安装 pg (1.4.6) 时出错,Bundler 无法继续
在 bundle install 期间。![]()
编辑:
按照错误上方的说明解决了:
如果您需要先在 PATH 中包含 postgresql@13,请运行:
echo 'export PATH="/opt/homebrew/opt/postgresql@13/bin:$PATH"' >> ~/.zshrc
为了让编译器找到 postgresql@13,您可能需要设置:
export LDFLAGS="-L/opt/homebrew/opt/postgresql@13/lib"
export CPPFLAGS="-I/opt/homebrew/opt/postgresql@13/include"
为了让 pkg-config 找到 postgresql@13,您可能需要设置:
export PKG_CONFIG_PATH="/opt/homebrew/opt/postgresql@13/lib/pkgconfig"
我不确定是哪一个!![]()
由于公司笔记本电脑存在权限问题,我必须手动逐个处理安装脚本。在尝试运行 gem update --system 时,我遇到了以下错误:
sh-3.2# gem update --system
Updating rubygems-update
Fetching rubygems-update-3.4.12.gem
Successfully installed rubygems-update-3.4.12
Parsing documentation for rubygems-update-3.4.12
Installing ri documentation for rubygems-update-3.4.12
Installing darkfish documentation for rubygems-update-3.4.12
Done installing documentation for rubygems-update after 158 seconds
Parsing documentation for rubygems-update-3.4.12
Done installing documentation for rubygems-update after 0 seconds
Installing RubyGems 3.4.12
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/gem
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1387:in `initialize'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1387:in `open'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1387:in `block in copy_file'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1386:in `open'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1386:in `copy_file'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:492:in `copy_file'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:860:in `block in install'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1558:in `block in fu_each_src_dest'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1574:in `fu_each_src_dest0'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1556:in `fu_each_src_dest'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:856:in `install'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:267:in `block (2 levels) in install_executables'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:251:in `chdir'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:251:in `block in install_executables'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:248:in `each'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:248:in `install_executables'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:165:in `execute'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/command.rb:327:in `invoke_with_build_args'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/command_manager.rb:252:in `invoke_command'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/command_manager.rb:192:in `process_args'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/command_manager.rb:150:in `run'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/gem_runner.rb:51:in `run'
setup.rb:33:in `<main>'
有什么办法可以解决这个问题吗?
您是否使用了 M1/M2 Apple?我认为您应该确保 Ruby 3.2.x 是系统默认版本,首先通过 brew 安装它。然后,对于 Apple Silicon,您可以在您的 .zshrc 中执行以下操作:
if [ -d "/opt/homebrew/opt/ruby/bin" ]; then
export PATH=/opt/homebrew/opt/ruby/bin:$PATH
export PATH=`gem environment gemdir`/bin:$PATH
fi
因为 Mac OS X 自带的系统 Ruby 2.x 会弄乱环境安装脚本。
另外,如果您在启动服务时遇到问题,可以尝试执行以下操作:
brew services restart postgresql@13
brew services restart redis
现在对我来说可以正常工作了。
大家好!我一直在关注这里的安装帖子,分享的技巧大部分都帮助我克服了在使用 MacOS M1 安装过程中遇到的一些问题。
我现在卡在了最后的 Bootstrap 部分:
bundle exec rails server
上面的命令对我来说是有效的,我能够在 localhost:3000 上看到一些内容,并且也注册了管理员用户,但是在运行 bin/ember-cli 后出现了以下异常:
$ bin/ember-cli
warning Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"
patch-package 8.0.0
Applying patches...
@ember/jquery@2.0.0 ✔
babel-plugin-debug-macros@0.3.4 ✔
content-tag@1.1.2 ✔
ember-source@3.28.12 ✔
ember-this-fallback@0.4.0 (1 deprecation-name) ✔
ember-this-fallback@0.4.0 (2 themes) ✔
virtual-dom@2.1.1 ✔
WARNING: Ember CLI v5.0.0 is not tested against Node v21.0.0. See "https://github.com/ember-cli/ember-cli/blob/master/docs/node-support.md" to find out which version of Node is best to use.
(node:22167) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Could not `import('file:///Users/myuser/discourse/app/assets/javascripts/discourse/ember-cli-build.js')`: Cannot read properties of undefined (reading 'indexOf')
堆栈跟踪和错误报告:/var/folders/4l/ksznzcp17sg1wjyq7mmfzfkc0000gn/T/error.dump.b499a1d1d9b275ada33629ea1a84760d.log
我是否遗漏了什么?
卸载当前节点并安装 brew 上的 node@20 后,我能够运行 bin/ember-cli。
在此步骤中看到此错误。
错误:无法符号链接 bin/c_rehash
目标 /opt/homebrew/bin/c_rehash
是属于 openssl@3 的符号链接。您可以取消链接它:
brew unlink openssl@3
要强制链接并覆盖所有冲突的文件:
brew link --overwrite openssl@1.1
要列出所有将被删除的文件:
brew link --overwrite --dry-run openssl@1.1
失败
并在该步骤中出现此错误
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': 找不到您的 /Users/Desktop/discourse/Gemfile.lock 所需的 'bundler' (2.4.13)。 (Gem::GemNotFoundException)
要更新到您系统上安装的最新版本,请运行 `bundle update --bundler`。
要安装缺少的版本,请运行 `gem install bundler:2.4.13`
来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:302:in `activate_bin_path'
来自 /usr/bin/bundle:23:in `<main>'
有人能指导我如何进行吗?这是我第一次。@Arkshine
抱歉,我没有 macOS 电脑。我知道脚本在 Windows/Linux 上运行正常;但 macOS 我无法测试。
您尝试运行 brew link --overwrite openssl@1.1 然后再次执行脚本了吗?但是,它很可能会在此 行 处再次停止。
有人知道如何在此开发环境中设置环境变量吗?我正在尝试让 SSO 生效,但似乎需要启用 CORS。我读到必须在 app.yml 中进行设置,但此设置中没有该文件。能否将其放入 site_settings 数据库表中?抱歉,我是 discourse 开发新手。
抱歉,我没有好消息。我实际上在那之后就放弃了。
很遗憾听到您遇到了这个问题。我通过以下方式解决了这个问题:
brew unlink openssl@3
然后链接 openssl@1.1
brew link --overwrite openssl@1.1
我再次运行脚本,没有出现错误(第一次运行时安装的东西出现了一些警告)。
我似乎按照此主题中的说明在我的 Macbook 上为开发安装了 Discourse。我有 2 个后续问题。
-
在运行
bundle exec rake autospec时,我收到了一些警告和失败,这是否是需要担心的问题?我的安装似乎按预期工作,并且在管理员部分没有显示错误。 -
如果我问了一个愚蠢的问题,我提前道歉(我对此类解决方案/服务器完全陌生)。每次我想使用服务器时,我都需要运行
bundle exec rails server、bin/ember-cli和mailhog吗?以及我想关闭服务器时如何关闭?
感谢您的支持!
