Issues installing Starrynight?

Hello all, new tow Meteor and the forums. I’m attempting to integrate the Clinical Meteor resources into my Meteor application, and was looking to use Starrynight.

When trying to install Starrynight, I get this error:
.
.
.
$H:\helloworld>npm install -g starrynight
npm WARN deprecated npmconf@2.1.2: this package has been reintegrated into npm a
nd is now out of date with respect to npm
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher
to avoid a RegExp DoS issue
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
npm WARN deprecated mongodb@1.4.40: Please upgrade to 2.2.19 or higher
npm WARN deprecated jade@0.26.3: Jade has been renamed to pug, please install th
e latest version of pug instead of jade
npm WARN deprecated graceful-fs@2.0.3: graceful-fs v3.0.0 and before will fail o
n node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible
. Use ‘npm ls graceful-fs’ to find it in the tree.
npm WARN deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher
to avoid a RegExp DoS issue
npm WARN deprecated wrench@1.5.9: wrench.js is deprecated! You should check out
fs-extra (https://github.com/jprichardson/node-fs-extra) for any operations you
were using wrench for. Thanks for all the usage over the years.
npm WARN deprecated to-iso-string@0.0.2: to-iso-string has been deprecated, use
@segment/to-iso-string instead.
npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher
to avoid a RegExp DoS issue
npm WARN deprecated tough-cookie@2.2.2: ReDoS vulnerability parsing Set-Cookie h
ttps://nodesecurity.io/advisories/130
npm WARN deprecated minimatch@1.0.0: Please update to minimatch 3.0.2 or higher
to avoid a RegExp DoS issue
C:\Users\nixonc\AppData\Roaming\npm\starrynight -> C:\Users\nixonc\AppData\Roami
ng\npm\node_modules\starrynight\bin\starrynight.js

bson@0.2.22 install C:\Users\nixonc\AppData\Roaming\npm\node_modules\starrynig
ht\node_modules\bson
(node-gyp rebuild 2> builderror.log) || (exit 0)

C:\Users\nixonc\AppData\Roaming\npm\node_modules\starrynight\node_modules\bson>i
f not defined npm_config_node_gyp (node “C:\Program Files\nodejs\node_modules\np
m\bin\node-gyp-bin\…\node_modules\node-gyp\bin\node-gyp.js” rebuild ) else
(node “” rebuild )

fibers@1.0.7 install C:\Users\nixonc\AppData\Roaming\npm\node_modules\starryni
ght\node_modules\fibers
node build.js || nodejs build.js

C:\Users\nixonc\AppData\Roaming\npm\node_modules\starrynight\node_modules\fibers

if not defined npm_config_node_gyp (node “C:\Program Files\nodejs\node_modules
npm\bin\node-gyp-bin\…\node_modules\node-gyp\bin\node-gyp.js” rebuild --rel
ease ) else (node “” rebuild --release )
gyp ERR! configure error
gyp ERR! stack Error: Can’t find Python executable “python”, you can set the PYT
HON env variable.
gyp ERR! stack at failNoPython (C:\Program Files\nodejs\node_modules\npm\nod
e_modules\node-gyp\lib\configure.js:449:14)
gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node
-gyp\lib\configure.js:404:11
gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\grac
eful-fs\polyfills.js:264:29
gyp ERR! stack at FSReqWrap.oncomplete (fs.js:123:15)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command “C:\Program Files\nodejs\node.exe” “C:\Program Files\nodej
s\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js” “rebuild” "–rel
ease"
gyp ERR! cwd C:\Users\nixonc\AppData\Roaming\npm\node_modules\starrynight\node_m
odules\fibers
gyp ERR! node -v v6.11.1
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
Build failed
’nodejs’ is not recognized as an internal or external command,
operable program or batch file.
C:\Users\nixonc\AppData\Roaming\npm
`-- (empty)

npm WARN pogo@0.9.4 requires a peer of bluebird@~2.2.1 but none was installed.
npm ERR! Windows_NT 6.1.7601
npm ERR! argv “C:\Program Files\nodejs\node.exe” “C:\Program Files\nodejs\
node_modules\npm\bin\npm-cli.js” “install” “-g” "starrynight"
npm ERR! node v6.11.1
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE

npm ERR! fibers@1.0.7 install: node build.js || nodejs build.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the fibers@1.0.7 install script ‘node build.js || nodejs buil
d.js’.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the fibers package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node build.js || nodejs build.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs fibers
npm ERR! Or if that isn’t available, you can get their info via:
npm ERR! npm owner ls fibers
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! H:\helloworld\npm-debug.log
npm ERR! code 1

H:\helloworld>
.
.
.
In case anyone was wondering about versions:
in reference to… https://github.com/awatson1978/starrynight/issues/80

$H:\helloworld>npm --version
3.10.10

$H:\helloworld>meteor --version
Meteor 1.5.1

$H:\helloworld>node --version
v6.11.1

$H:\helloworld>nvm --version
’nvm’ is not recognized as an internal or external command,
operable program or batch file.
.
.
.

Any help is appreciated!

Here’s what I did:

  1. Install windows-build-tools:

     npm --add-python-to-path i -g windows-build-tools
    
  2. Reboot (ensures python added to path, because … well, it is Windows after all :wink:).

  3. Install starrynight:

     npm i -g starrynight
    
  4. Check it’s installed:

     npm list -g starrynight
     -- starrynight@3.10.3
    

Also, I did this from PowerShell running as administrator - that may not be necessary.

Edit: So I finally found where these global npm packages get saved on Windows 10: C:\Program Files (x86)\Nodist\bin, which contradicts a number of resources, which suggest %USERPROFILE%\AppData\Roaming\npm. YMMV!

Edit2: It seems like starrynight won’t run under Windows. It looks like it’s failing to handle the backslash folder separator properly. Also, some commands appear to rely on Linux utilities to work (e.g. lstat).

Pinging @awatson1978 for help - is this behaviour under Windows as expected?

1 Like

Oh, I don’t know. Haven’t used a Windows box in like a decade. Happy to consider pull requests that add Windows support. But, uh… yeah, Starrynight might not be compatible with Windows.

1 Like

Okay, thank you! I figured there may be some trouble since your SDK was intended for Mac users. I was hoping to test it out on the office computers before using my personal Mac, but I’m happy to make the jump!

Yeah, apologies for that. Starrynight isn’t abandoned, but it’s very much a utility app that only gets worked on when we have a tooling task that Meteor itself can’t handle. Between working on Starrynight for Windows and implementing FHIR resources to get Epic/Cerner connectivity, we have a fairly clear preference for the latter.

If anything, we’re still finalizing the port to Linux/Ubuntu. It should work on Linux machines. We’ve gotten it compiled on our servers many times in the past; and we use it regularly in our continuous integration environments. But even then it occasionally falls apart after an upgrade to the underlying Linux servers.

1 Like