this教程之后,我刚开始时会遇到奇怪的错误。
运行后:
rails new rails-react-tutorial --webpack=react
然后我会在bundle install
之后尝试
rails webpacker:install:react rails generate react:installyarn install
我会得到:
[DEPRECATION] The trollop gem has been renamed to optimist and will no longer be supported. Please switch to optimist as soon as possible.
rails aborted!
ArgumentError: Malformed version number string Yarn v0.1.1 2011 Jesper Kjeldgaard
/*/rails-react-tutorial/bin/rails:9:in `<top (required)>'
/*/rails-react-tutorial/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Tasks: TOP => webpacker:install:react => webpacker:verify_install => webpacker:check_yarn
(See full trace by running task with --trace)
[检查this issue后,我已按照上一条注释versions/2.6.1/lib/ruby/gems/2.6.0/gems/yarn-0.1.1/lib/yarn.rb
中的建议删除了宝石在bin路径中的毛线文件,但随后出现如下错误:
rails webpacker:install:react
rails aborted!
LoadError: cannot load such file -- /*/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/yarn-0.1.1/lib/yarn.rb
/*/rails-react-tutorial/config/application.rb:7:in `<main>'
/*/rails-react-tutorial/Rakefile:4:in `<main>'
/*/rails-react-tutorial/bin/rails:9:in `<top (required)>'
/*/rails-react-tutorial/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
因此,这将迫使我再次安装gem。我正在使用Rails 6.0.2.1-v和ruby 2.6.1p33(2019-01-30修订版66950)[x86_64-linux]。
您需要的yarn
工具不是宝石,而是Yarn package manager。我怀疑您已经安装了yarn gem,它似乎是旧的,未使用的不相关项目。
在命令行上尝试:
gem uninstall yarn
请确保您已安装Yarn程序包管理器。在Mac上,您可以使用Homebrew:
brew install yarn
然后重试项目安装命令,应该是:
rails webpacker:install:react
rails generate react:install
yarn install
我找到了此here并解决了问题:
for ver in $(rbenv whence yarn); do
RBENV_VERSION="$ver" gem uninstall -ax yarn
rm -f "$(rbenv prefix "$ver")/bin/yarn"
done
rbenv rehash