web-dev-qa-db-ja.com

このメッセージはRails "The tzinfo-dataの依存関係"というメッセージを受け取りました

数日前にRubyにRailsをインストールし、コンソールで新しいプロジェクトを作成するたびにこのメッセージが表示されました。

The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for Ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, Java. To add those platforms to the bundle, run `bundle lock --add-platform mingw, mswin, x64_mingw, jruby`.

しかし、次のようにインストールしようとすると:

bundle lock --add-platform mingw

私はこのメッセージを受け取りました:

Could not locate Gemfile

このメッセージについて私が何をしているのか、皆さんご存知ですか?

3
JULIO MACHAN

Mac osx El capitanでも同じ問題がありましたが、これが解決方法です。まず、これはこのコマンドを実行した後に表示されるエラーメッセージです

$ Rails new my-app -d mysql

依存関係tzinfo-data(> = 0)は、Bundlerがインストールするプラットフォームのいずれでも使用されません。 BundlerはRubyにインストールしていますが、依存関係はx86-mingw32、x86-mswin32、x64-mingw32、Javaのみに当てはまります。これらのプラットフォームをバンドルに追加するには、bundle lock --add-platform mingw, mswin, x64_mingw, jrubyを実行します。 -注:my-appディレクトリ(私のアプリのルート)をcdする必要があるまで、アプリをインストールするアプリケーションフォルダにいる間にコマンドを実行しようとしました-作成しているアプリのルートディレクトリにcdする拳-バンドルlock --add-platform mingw、mswin、x64_mingw、jruby-欠落している依存関係をインストールします。 -私の場合、このバンドルロックのみを行いました--add-platform jruby-そして、それはトリックを行うべき魅力的な試みのように機能しました。

0

このgemは、Ubuntu(または任意のUnixベースのシステム)で実行されるアプリには不要であり、RailsアプリはWindowsマシンで実行されています。

宝石の著者

メッセージを削除する場合は、次のいずれかを実行できます。

  1. Gemfileのgem 'tzinfo-data'行からプラットフォームオプションを削除します(そしてバンドル更新を実行します)。これにより、tzinfoは、システムタイムゾーンデータを使用する代わりに、すべてのプラットフォームでtzinfo-dataをデータソースとして使用します。
  2. Gemfileからgem 'tzinfo-data'行を削除します。これにより、tzinfoは常にシステムタイムゾーンデータを使用しようとします。 Windowsでアプリを実行しようとすると、TZInfo :: DataSourceNotFound例外が発生します。
  3. バンドルロック--add-platform mingw、mswin、x64_mingw、jrubyを実行して、Bundlerがバンドルに含めるプラットフォームのリストにmingw、mswin、x64_mingw、およびjrubyを追加します。
1
AFOC

プロジェクトディレクトリにいないため、Could not locate Gemfileメッセージが表示されます。 cdコマンドを実行する前に、プロジェクトディレクトリにbundleします。

  • cd [path/to/your/Rails/project]
  • bundle lock --add-platform mingw
0