If you’ve installed Shiny Server Pro as a user other than shiny, you might have experienced difficulty adding R packages. This is because Shiny Server Pro runs R as the shiny user, and running R -e “install.packages(‘foo’)” will install packages to the local user’s files only.
The solution to this is to su to the shiny user:
su - shiny
R -e "install.packages('foo', repos='http://cran.rstudio.com')"
Alternatively, this script will parse an R file looking for require statements and install the necessary packages. It isn’t very smart, so be careful.
I received this error after making some changes to a Hiera config and the referenced “dev-server” role.
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Error from DataBinding 'hiera' while looking up 'role::dev-server::use_ssl': undefined method `empty?' for nil:NilClass on node servername.local
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
It turns out this is a vague syntax error. Checking the following has worked for me:
- Ensuring the syntax of your Hiera YAML or JSON file is correct. Check for trailing commas in JSON, or misplaced colons. (“foo:bar”, “foo::bar:”, “foo:::bar”, etc.)
- The variable name is unique. In one case, “dev-server::use_ssl” was configuring a child resource with the same “use_ssl” property/param/variable.
- There are no empty YAML or JSON files in your hieradata directory. I think I’ve had a similar issue with temp files (*~)
- If you’ve modified your hiera.yaml to add a new hierarchy or something, restart Puppet.