-
Notifications
You must be signed in to change notification settings - Fork 20
FAQs
This is intended to give some help when developing SolidOs.
A store is created by rdflib library (see introduction). Synonyms are "kb" (knowledge base), LiveStore A store relates to a javascript object meant to manipulate RDF in memory. Basically, it is an object organized to allow parsing through quads. A quad is a triple with a source document.
yes mostly if called through solid-logic
- webOperations: performs all HTTP fetch functions
- fetcher.load: insert a web document to the store if not existing already
- updater.update: update store data and write them back to the web
Many of the repositories used in this project rely upon Node Version Manager to maintain the Node version used to build the project. Be sure to have it installed.
These scripts assume that ~/.nvm/nvm.sh
is a script that is sourced and establishes the nvm
shell functions. Depending on your nvm
installation and OS, it may be necessary to manually create a symlink from ~/.nvm/nvm.sh
to your installed version of nvm.sh
. For example, on macOS using Homebrew, the following command will be sufficient to allow these SolidOS scripts to use nvm
:
cd ~/.nvm
ln -s /usr/local/opt/nvm/nvm.sh nvm.sh
- currently SolidOS needs node 12.19.1 and node 13.14.0 and node 12.7.0 but M1 chip cannot install node < v14
- on MacOs terminal one can switch the architecture used to build code, you need to switch to -x86_64 with the command:
$env /usr/bin/arch -x86_64 /bin/zsh —-login
- to check if it worked check with
arch
command in the terminal, the result should showi386
- afterward you can proceed to install other node versions:
nvm install 12.19.1
andnvm install 13.14.0
andnvm install 12.7.0
- it can be that mashlib does not build because of errors like
ERROR in ./src/styles/index.scss (./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/styles/index.scss) Module Error (from ./node_modules/sass-loader/dist/cjs.js): Node Sass does not yet support your current environment: OS X Unsupported architecture (arm64) with Node.js 12.x For more information on which environments are supported please see: https://github.com/sass/node-sass/releases/tag/v6.0.1
In this case, you need to run node itself in the right architecture with the commandnode -p process.arch
-> has to display x64. Then you can go ahead and build mashlib againnpm run build
In short:
» nvm use 15
Now using node v15.14.0 (npm v7.7.6)
» arch -x86_64 zsh
» arch
i386
» node
Welcome to Node.js v15.14.0.
Type .help for more information.
process.arch
'x64'
`
- https://vineethbharadwaj.medium.com/m1-mac-switching-terminal-between-x86-64-and-arm64-e45f324184d9
- https://www.jurnalanas.com/node-js-mac-m1/
- https://stackoverflow.com/questions/65342769/install-node-on-m1-mac
If you get this error perhaps you have previously had a solidos running locally and in that case, you need to delete your cache from localhost.
In this case, it could be that something didn't build properly. If you are running npm run watch look closely at your errors. Otherwise, you can also go through all the repos solid-ui, solid-panes, mashlib installing and building verifying that it is successful.
If you for some reason aren't able to get your setup working, you should double-check that Lerna actually manages to bootstrap the repositories. One way of doing this is to check node_modules in one of them and verify that the dependency that should be bootstrapped is actually a symlink to the corresponding repository (e.g. check that workspaces/mashlib/node_modules/solid-ui
links to workspaces/solid-ui
). If it doesn't, it is usually because of different version (e.g. mashlib expects a newer version of solid-ui than the one you have locally). Make sure that these are aligned, then bootstrap again by running npm start
or do it manually with npx lerna bootstrap
(must be run in the root of this repo).
There were breaking changes to sass on node 13+. Currently you need to be on node version 12 in order to build mashlib, otherwise you are very likely to see these errors.