正直なところ、このエラーを再現する方法がわかりません。私が知っていることはどこかでビルドで、私は次のメッセージを得ることをされていますgoogle-signinでポリマープロジェクトを構築するときにエラーが発生する
debug: accept: ../../../../../../bower_components/google-signin/google-signin.css
error: Promise rejection: Error: file path is not in root: /bower_components/google-signin/google-signin.css (/path/to/project/root)
error: Error: file path is not in root: /bower_components/google-signin/google-signin.css (/path/to/project/root)
at Object.urlFromPath (/usr/lib/node_modules/polymer-cli/node_modules/polymer-build/lib/path-transformers.js:41:15)
at StreamAnalyzer.getFile (/usr/lib/node_modules/polymer-cli/node_modules/polymer-build/lib/analyzer.js:107:39)
at StreamResolver.accept (/usr/lib/node_modules/polymer-cli/node_modules/polymer-build/lib/analyzer.js:210:34)
at FileLoader.request (/usr/lib/node_modules/polymer-cli/node_modules/hydrolysis/lib/loader/file-loader.js:64:27)
at Vulcan.<anonymous> (/usr/lib/node_modules/polymer-cli/node_modules/vulcanize/lib/vulcan.js:377:26)
at Array.map (native)
at Vulcan.inlineCss (/usr/lib/node_modules/polymer-cli/node_modules/vulcanize/lib/vulcan.js:365:33)
at Vulcan.<anonymous> (/usr/lib/node_modules/polymer-cli/node_modules/vulcanize/lib/vulcan.js:486:21)
を../
秒の数は、すなわち、それが探している絶対パスが/bower_components/google-signin/google-signin.css
で、私のプロジェクトのルートの深さに対応します。プロジェクトを別の深度の別のディレクトリに移動すると、それに応じて変更されます。
エラーがメインのアプリコンテナ(すなわち、まさにそれの1つのインスタンスがindex.html
ファイルに住んでいると、それは<body>
の直接の子である)のための私のカスタム要素にのみ、このラインに依存します。
<link rel="import" href="../../bower_components/google-signin/google-signin.html">
私は<google-signin>
のすべての用途をコメントアウトしましたが、エラーは依然として存在します。私は自分のコードのインポートセクション内のすべての位置にそれを入れました。私がその行をコメントアウトすると、ビルドは成功します。
スターターキットを使用して新しいプロジェクトを作成し、<google-signin>
要素を追加しました。 プロジェクトが成功しました。そのプロジェクトのbower_components
フォルダを自分のものにコピーしました。ビルドはまだ失敗しました。
解決策を検索すると、私はthis answer on stackoverflowを見つけ、無駄に試しました。
nodejs
とbower
は、npm
と私のオペレーティングシステムのパッケージマネージャーの両方から使用しました。
また、アプリケーションが開発サーバー内で完全に機能していることにも注意してください(例:polymer serve --open
)。
私はbower
依存関係を以下に掲載しました。私のシステムはArch Linuxを実行しており、最後の完全なシステムアップデートは昨日だった。アップデート前にビルドが機能していなかった。
{
"name": "PROJECT_NAME",
"description": "Web Front-end for PROJECT_NAME",
"main": "index.html",
"dependencies": {
"iron-elements": "PolymerElements/iron-elements#^1.0.10",
"paper-elements": "PolymerElements/paper-elements#^1.0.7",
"app-elements": "PolymerElements/app-elements#^0.10.1",
"google-signin": "GoogleWebComponents/google-signin#^1.3.7"
},
"devDependencies": {}
}
さらに、ここにファイルが使用する輸入の完全なリストである:
<link rel="import" href="../../bower_components/polymer/polymer.html">
<link rel="import" href="../../bower_components/font-roboto/roboto.html">
<link rel="import" href="../../bower_components/iron-icons/iron-icons.html">
<link rel="import" href="../../bower_components/google-signin/google-signin.html">
<link rel="import" href="../../bower_components/app-layout/app-drawer-layout/app-drawer-layout.html">
<link rel="import" href="../../bower_components/app-layout/app-drawer/app-drawer.html">
<link rel="import" href="../../bower_components/app-layout/app-header-layout/app-header-layout.html">
<link rel="import" href="../../bower_components/app-layout/app-header/app-header.html">
<link rel="import" href="../../bower_components/app-layout/app-toolbar/app-toolbar.html">
<link rel="import" href="../../bower_components/paper-icon-button/paper-icon-button.html">
<link rel="import" href="../../bower_components/paper-dialog/paper-dialog.html">