facebookarchive / nuclide

An open IDE for web and native mobile development, built on top of Atom
https://nuclide.io
Other
7.79k stars 683 forks source link

“Failed to activate the nuclide-ui package” due to LessError #1394

Closed PointedEars closed 6 years ago

PointedEars commented 6 years ago

Issue and Steps to Reproduce

  1. Start Atom.

Reinstalling Nuclide and restarting Atom did not help.

Expected Behavior

No error

Actual Behavior

LessError, see below.

The file ui-variables(.less) referred in TextEditorBanner.less appears to be missing (there is one in seti-ui and xkcd-comics, but I do not think that either is meant), and the @font-family variable is only defined in xckd-comics/styles/ui-variables.less, but I do not think that is meant.

Versions

Atom: 1.22.1 x64 Electron: 1.6.15 OS: Debian GNU/Linux Thrown From: nuclide-ui package 0.270.0 (nuclide version number only obtainable through “Settings”, error reporting button not functional)

Stack Trace

Failed to activate the nuclide-ui package

At variable @font-family is undefined in /home/[…]/.atom/packages/nuclide/modules/nuclide-commons-ui/styles/TextEditorBanner.less:15:15

LessError: variable @font-family is undefined
  at /packages/nuclide/modules/nuclide-commons-ui/styles/TextEditorBanner.less:15:15

Commands

  4x -3:37.7.0 click (a.btn-issue.btn.btn-error)

Non-Core Packages

atom-beautify 0.30.9 
atom-css-unit-converter 1.1.1 
atom-mysql-snippets 0.3.1 
atom-php-navigation 0.6.0 
atom-ternjs 0.18.3 
atom-x 0.4.0 
atomatigit 1.5.5 
autoclose-html 0.23.0 
autocomplete-awk 0.1.2 
autocomplete-bibtex 1.1.0 
autocomplete-clang 0.11.4 
autocomplete-html-entities 0.2.0 
autocomplete-paths 2.12.1 
autocomplete-php 0.3.7 
autocomplete-python 1.10.5 
autocomplete-xml 0.9.4 
autoupdate-packages 1.3.1 
block-comment 0.4.3 
busy-signal 1.4.3 
character-table 0.4.3 
clipboard-plus 0.5.1 
color-picker 2.2.5 
column-select 1.0.1 
compare-files 0.8.1 
css-snippets 1.1.0 
ctrl-last-tab 0.3.0 
data-atom 0.26.2 
docblockr 0.13.2 
emmet 2.4.3 
emmet-snippets-compatibility 1.0.6 
es6-javascript 1.0.0 
ex-mode 0.18.0 
filesize 3.0.0 
fixmyjs 1.4.1 
fold-comments 0.6.0 
git-blame 1.3.1 
git-clone 0.2.0 
git-control 0.9.0 
git-diff-details 1.4.0 
git-difftool 0.2.7 
git-go 1.0.5 
git-hide 1.0.0 
git-history 3.3.0 
git-log 0.4.1 
git-plus 7.10.0 
git-rebase 0.1.1 
git-status 0.3.4 
git-time-machine 1.5.9 
gitignore-snippets 0.2.5 
goto 1.8.3 
goto-definition 1.3.4 
haskell-grammar 0.4.0 
highlight-selected 0.13.1 
hyperclick 0.1.5 
hyperclick-php 0.2.1 
ide-java 0.6.8 
ide-php 0.7.3 
ide-typescript 0.7.0 
indent-toggle-on-paste 0.1.3 
intentions 1.1.5 
iso8601-timestamp 0.1.1 
javascript-snippets 1.2.1 
js-hyperclick 1.12.2 
js-refactor 0.7.5 
language-apache 1.7.0 
language-awk 0.1.12 
language-babel 2.80.1 
language-diff 0.7.0 
language-gettext 0.6.1 
language-ini 1.19.0 
language-latex 1.1.1 
language-lua 0.9.11 
language-sql-mysql 0.3.1 
language-swift 0.5.0 
language-tcltk 0.1.5 
latex-autocomplete 1.0.2 
latex-completions 0.3.3 
latex-friend 0.0.11 
latex-hyperclick 0.2.0 
latexer 0.3.0 
latextools 0.8.5 
lcars-syntax 0.0.1 
less-autocompile 1.0.0 
less-than-slash 0.17.0 
line-count-status 0.0.3 
line-jumper 0.14.1 
linter 2.2.0 
linter-checkbashisms 0.1.5 
linter-chktex 1.3.1 
linter-csslint 2.0.0 
linter-htmlhint 1.4.0 
linter-jshint 3.1.6 
linter-less 2.6.0 
linter-mixed-indent 1.1.1 
linter-mypy 2.4.3 
linter-php 1.5.1 
linter-pylint 2.1.0 
linter-shellcheck 1.4.6 
linter-ui-default 1.6.10 
linter-xmllint 1.4.3 
local-history 4.3.1 
MagicPython 1.0.12 
man 0.8.2 
merge-conflicts 1.4.5 
method-separator 0.2.0 
minimap 4.29.7 
minimap-cursorline 0.2.0 
minimap-find-and-replace 4.5.2 
minimap-git-diff 4.3.1 
minimap-hide 0.3.0 
minimap-highlight-selected 4.6.1 
minimap-linter 2.1.3 
minimap-pigments 0.2.2 
minimap-split-diff 0.3.7 
multi-cursor 2.1.5 
multi-cursor-plus 1.2.0 
multi-file-open 0.1.1 
multirow-tabs 0.3.3 
navigate 0.1.17 
navigate-indent 0.1.0 
next-occurrence 0.5.0 
nuclide 0.270.0 
nuclide-format-js 0.0.41 
open-git-modified-files 0.2.4 
open-recent 5.0.0 
open-this 0.5.0 
pdf-view 0.61.0 
php-debug 0.2.5 
php-extract-method 0.2.1 
php-getters-setters 0.5.5 
pigments 0.40.2 
platformio-ide-terminal 2.7.0 
preview 0.17.0 
preview-inline 1.5.1 
project-folder 1.5.0 
project-view 0.6.2 
promote-folder-to-project 2.0.2 
punchclock 0.6.5 
python-isort 0.0.7 
python-tools 0.6.9 
qolor 0.4.2 
quantum-shell 0.7.1 
quick-query 0.12.2 
recent-projects 0.13.1 
refactor 0.11.5 
regex-tester 0.2.0 
remember-file-positions 0.2.3 
remote-edit 1.9.0 
revert-buffer 0.6.0 
script 3.18.0 
set-syntax 0.4.0 
seti-ui 1.9.0 
show-origin 0.2.0 
sloc 1.1.0 
sort-lines 0.18.0 
split-diff 1.5.1 
switch-header-source 0.22.1 
symbols-tree-nav 0.15.5 
symbols-tree-view 0.14.0 
term 0.2.4 
text-manipulation 0.6.0 
todo-show 2.1.0 
tool-bar 1.1.0 
tree-view-git-status 1.4.0 
up2date 0.1.2 
vim-mode-clipboard-plus 0.2.0 
vim-mode-plus 1.21.0 
w3c-validation 0.4.0 
wordcount 2.10.4 
xkcd-comics 0.3.0 
xml-tools 0.2.1 
Zen 0.18.0 
pelmers commented 6 years ago

looks like @font-family is one of the ui-variables a theme should define. (https://github.com/atom/atom/blob/master/static/variables/ui-variables.less#L84) which ui theme are you currently using @PointedEars ?

jameswlane commented 6 years ago

I am using Seti-UI and Monokia Seti

[Enter steps to reproduce:]

  1. Start Atom

Atom: 1.22.1 x64 Electron: 1.6.15 OS: Mac OS X 10.13.1 Thrown From: nuclide-ui package 0.0.0

Stack Trace

Failed to activate the nuclide-ui package

At variable @font-family is undefined in /Users/jameswlane/.atom/packages/nuclide/modules/nuclide-commons-ui/styles/TextEditorBanner.less:15:15

LessError: variable @font-family is undefined
  at /packages/nuclide/modules/nuclide-commons-ui/styles/TextEditorBanner.less:15:15

Commands

Non-Core Packages

advanced-open-file 0.16.7 
atom-beautify 0.30.9 
atom-jest-snippets 1.2.0 
atom-pair 2.0.13 
atom-reverser 2.6.0 
atom-spotify2 2.1.2 
atom-terminal 0.8.0 
atom-ternjs 0.18.3 
atom-transpose 0.3.5 
atom-typescript 11.0.10 
atom-wrap-in-tag 0.6.0 
auto-detect-indentation 1.3.0 
autoclose-html 0.23.0 
autocomplete-module-import 0.1.3 
autocomplete-modules 1.8.0 
autocomplete-paths 2.12.1 
build 0.69.0 
build-tsc 0.7.2 
busy-signal 1.4.3 
case-keep-replace 0.6.1 
change-case 0.6.5 
code-peek 1.4.21 
color-picker 2.2.5 
copy-path 0.4.2 
docblockr 0.13.2 
duplicate-line-or-selection 0.9.0 
editorconfig 2.2.2 
es6-javascript 1.0.0 
expose 0.15.0 
file-icons 2.1.14 
git-blame 1.3.1 
git-plus 7.10.0 
git-projects 1.17.0 
git-time-machine 1.5.9 
highlight-selected 0.13.1 
hyperclick 0.1.5 
imdone-atom 2.3.10 
intentions 1.1.5 
javascript-snippets 1.2.1 
js-hyperclick 1.12.2 
language-babel 2.80.1 
language-docker 1.1.8 
language-markdown 0.25.1 
linter 2.2.0 
linter-eslint 8.4.0 
linter-pylama 0.9.5 
linter-rubocop 2.2.0 
linter-tslint 1.9.0 
linter-ui-default 1.6.10 
local-history 4.3.1 
local-server-express 0.3.1 
lodash-snippets 2.0.0 
merge-conflicts 1.4.5 
minimap 4.29.7 
minimap-highlight-selected 4.6.1 
minimap-pigments 0.2.2 
monokai-seti 0.9.0 
nuclide 0.270.0 
open-recent 5.0.0 
pane-layout-plus 0.7.4 
pigments 0.40.2 
prettier-atom 0.41.0 
project-manager 3.3.5 
project-plus 1.0.0 
react 0.17.0 
react-es7-snippets 0.3.13 
related 0.3.5 
set-syntax 0.4.0 
seti-ui 1.9.0 
sort-lines 0.18.0 
sorter 1.1.0 
Sublime-Style-Column-Selection 1.7.4 
sync-settings 0.8.3 
tab-foldername-index 3.2.2 
tasks 2.6.7 
teletype 0.2.3 
term3 0.22.1 
test-navigator 1.0.2 
todo-show 2.1.0 
toggle-quotes 1.0.1 
tool-bar 1.1.0 
tree-view-copy-relative-path 1.2.0 
tree-view-search-bar 1.0.2 
pelmers commented 6 years ago

waiting on https://github.com/jesseweed/seti-ui/pull/459 similar to https://github.com/facebook-atom/atom-ide-ui/issues/14

PointedEars commented 6 years ago

[…] which ui theme are you currently using @PointedEars ?

@pelmers I am using seti-ui.

[…] @font-family is one of the ui-variables a theme should define

How so? AFAICS there is no LESS in any built-in theme that defines @font-family in Atom 1.22.1 (maybe in earlier versions):

$ dpkg -s atom | grep ^Version:
Version: 1.22.1

$ dpkg -L atom | cut -d / -f 1-4 | sort | uniq
/.
/usr
/usr/bin
/usr/bin/apm
/usr/bin/atom
/usr/share
/usr/share/applications
/usr/share/atom
/usr/share/doc
/usr/share/lintian
/usr/share/pixmaps

$ dpkg -L atom | grep '\.less'
/usr/share/atom/resources/app/apm/templates/package-javascript/styles/__package-name__.less.template
/usr/share/atom/resources/app/apm/templates/package-coffeescript/styles/__package-name__.less.template
/usr/share/atom/resources/app/apm/templates/theme/index.less
/usr/share/atom/resources/app/apm/templates/theme/styles/syntax-variables.less
/usr/share/atom/resources/app/apm/templates/theme/styles/base.less
/usr/share/atom/resources/app/apm/templates/theme/styles/colors.less

$ ack '@font-family\s*:' ~/.atom/ /usr/share/atom/
/home/…/.atom/packages/xkcd-comics/styles/ui-variables.less
91:@font-family: 'Lucida Grande', 'Segoe UI', Ubuntu, Cantarell, sans-serif;

$
PointedEars commented 6 years ago

AFAICS there is no LESS in any built-in theme that defines @font-family in Atom 1.22.1

I just realized that it is defined in the packed LESS files (asar list /usr/share/atom/resources/app.asar | grep '\.less'). Sorry for the noise.

echo '@font-family: @seti-font-family;' >> ~/.atom/packages/seti-ui/styles/ui-variables.less

WFM.