2016-12-31 3 views
0

Честно говоря, я не уверен, как воспроизвести эту ошибку. То, что я знаю, что где-то в сборке, я получаю следующее сообщение:Ошибка при создании проекта полимера с помощью 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. Если я переведу проект в другой каталог на другой глубине, он соответственно изменится.

Погрешность зависит только от этой линии в моем пользовательский элемент для основного приложения контейнера (т.е. ровно один его экземпляр живет в файле 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"> 

ответ

0

Мой polymer.json файл не содержит все необходимые fragments, и это вызывает ошибку.

Смежные вопросы