React Native init does not create Xcode project - xcode

When I run react-native init application-name, no XCode project gets generated.
The node_modules dir and package.json file is generated and npm install is run, but immediately after the 'npm dependency graph' is printed, it stops.
The last line of output is rbenv: no such commandexec'`, which seems rather strange as this has nothing to do with rbenv/Ruby.
Full log output:
πŸ‘‰ react-native init ReactiveNews
This will walk you through creating a new React Native project in /Users/taylor/Git/ReactiveNews
npm WARN engine makeerror#1.0.10: wanted: {"node":"0.6.x"} (current: {"node":"0.10.38","npm":"1.4.28"})
> ws#0.4.31 install /Users/taylor/Git/ReactiveNews/node_modules/react-native/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
SOLINK_MODULE(target) Release/bufferutil.node
SOLINK_MODULE(target) Release/bufferutil.node: Finished
CXX(target) Release/obj.target/validation/src/validation.o
SOLINK_MODULE(target) Release/validation.node
SOLINK_MODULE(target) Release/validation.node: Finished
npm WARN engine tmpl#1.0.3: wanted: {"node":"0.6.x"} (current: {"node":"0.10.38","npm":"1.4.28"})
react-native#0.2.1 node_modules/react-native
β”œβ”€β”€ absolute-path#0.0.0
β”œβ”€β”€ stacktrace-parser#0.1.1
β”œβ”€β”€ react-timer-mixin#0.13.1
β”œβ”€β”€ underscore#1.7.0
β”œβ”€β”€ q#1.0.1
β”œβ”€β”€ yargs#1.3.2
β”œβ”€β”€ debug#2.1.3 (ms#0.7.0)
β”œβ”€β”€ source-map#0.1.31 (amdefine#0.1.0)
β”œβ”€β”€ optimist#0.6.1 (wordwrap#0.0.2, minimist#0.0.10)
β”œβ”€β”€ worker-farm#1.1.0 (xtend#4.0.0, errno#0.1.2)
β”œβ”€β”€ rebound#0.0.12
β”œβ”€β”€ sane#1.0.1 (watch#0.10.0, fb-watchman#0.0.0, minimatch#0.2.14, walker#1.0.6)
β”œβ”€β”€ uglify-js#2.4.17 (uglify-to-browserify#1.0.2, async#0.2.10, yargs#1.3.3, source-map#0.1.34)
β”œβ”€β”€ jstransform#10.0.1 (base62#0.1.1, esprima-fb#13001.1.0-dev-harmony-fb)
β”œβ”€β”€ joi#5.1.0 (topo#1.0.2, isemail#1.1.1, hoek#2.12.0, moment#2.9.0)
β”œβ”€β”€ connect#2.8.3 (uid2#0.0.2, methods#0.0.1, fresh#0.1.0, pause#0.0.1, cookie-signature#1.0.1, buffer-crc32#0.2.1, qs#0.6.5, bytes#0.2.0, cookie#0.1.0, formidable#1.0.14, send#0.1.2)
β”œβ”€β”€ module-deps#3.5.6 (inherits#2.0.1, shallow-copy#0.0.1, minimist#0.2.0, subarg#0.0.1, stream-combiner2#1.0.2, parents#1.0.1, readable-stream#1.0.33, resolve#0.7.4, through2#0.4.2, duplexer2#0.0.2, concat-stream#1.4.7, browser-resolve#1.8.1, JSONStream#0.7.4, detective#3.1.0)
β”œβ”€β”€ react-tools#0.13.0-rc2 (commoner#0.10.1)
└── ws#0.4.31 (tinycolor#0.0.1, options#0.0.6, commander#0.6.1, nan#0.3.2)
rbenv: no such command `exec'

The issue was with the init.sh script under node_modules/react-native, rbenv threw the rbenv: no such command `exec' every time it was executed. I first solved it by running it directly through rbenv with rbenv exec but was able to solve the issue entirely by turning the rbenv bundler plugin off and on again.

Related

`pip install -e .` does not add folder to path

I’m trying to install locally a personal package that I called circuits.
I installed it with pip install -e ., it shows up in the pip list, but I have a ModuleNotFoundError when I try to import it.
(venv) pip install -e .
Obtaining file:///Users/me/my_project/circuits
Installing build dependencies ... done
Checking if build backend supports build_editable ... done
Getting requirements to build editable ... done
Preparing editable metadata (pyproject.toml) ... done
Requirement already satisfied: numpy in /Users/me/my_project/venv/lib/python3.9/site-packages (from circuits==0.1.0) (1.23.3)
Requirement already satisfied: tabulate in /Users/me/my_project/venv/lib/python3.9/site-packages (from circuits==0.1.0) (0.8.10)
Building wheels for collected packages: circuits
Building editable for circuits (pyproject.toml) ... done
Created wheel for circuits: filename=circuits-0.1.0-0.editable-py3-none-any.whl size=2277 sha256=a1ab6479e6d2761d7aae5cb156dd239001e54c397e712e279c6331b9ed217d0d
Stored in directory: /private/var/folders/mw/k72xg0bx6yz48vzqq4fbgsk80000gn/T/pip-ephem-wheel-cache-d5600og9/wheels/6d/ed/4d/6b97818bf8ea2c80312b9134aa990bb61b776a1399143dec7d
Successfully built circuits
Installing collected packages: circuits
Attempting uninstall: circuits
Found existing installation: circuits 0.1.0
Uninstalling circuits-0.1.0:
Successfully uninstalled circuits-0.1.0
Successfully installed circuits-0.1.0
(venv) cd ../projects
(venv) python -c "import circuits"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'circuits'
It turns out that the package is not added to my sys.path, although other packages that also are on my laptop are when I install them the same way.
I suspect that there may be some link with the fact that there already exists a package with the same name on pypi (https://pypi.org/project/circuits/)
which python returns /Users/me/my_project/venv/bin/python
which pip returns /Users/me/my_project/venv/bin/pip
Project directory structure:
.
β”œβ”€β”€ README.md
β”œβ”€β”€ build
β”‚Β Β  └── bdist.macosx-12-arm64
β”œβ”€β”€ circuits
β”‚Β Β  β”œβ”€β”€ file_a.py
β”‚Β Β  β”œβ”€β”€ file_b.py
β”‚Β Β  └── file_c.py
β”œβ”€β”€ circuits.egg-info
β”‚Β Β  β”œβ”€β”€ PKG-INFO
β”‚Β Β  β”œβ”€β”€ SOURCES.txt
β”‚Β Β  β”œβ”€β”€ dependency_links.txt
β”‚Β Β  β”œβ”€β”€ requires.txt
β”‚Β Β  └── top_level.txt
β”œβ”€β”€ pyproject.toml
β”œβ”€β”€ setup.cfg
pyproject.toml content:
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
setup.cfg content:
[metadata]
name = circuits
version = 0.1.0
authors = ["me"]
[options]
packages = find:
install_requires =
numpy
I use MacOS 12.6
--
Edit 1: added precisions on the config and project tree, removed screenshot.
Try this
python -m pip install -e .
The outcome of pip install -e . is mostly based on project structure and on the content of package metadata files like setup.py, setup.cfg, pyproject.toml. These files are used to instruct pip how to install a Python package.
I suggest you to review how to build Python packages and how write the metadata files. Take a look here, it should give a basis: https://python-packaging-tutorial.readthedocs.io/en/latest/setup_py.html.
Another thing is that I see on the provided screenshot you install your package into its Virtual environment. I'm not sure if that's really what your need. In this case even if pip install -e . worked you'd only have access to your package from that venv, not from system Python installation.
If you just want to test your package interactively, just enter venv and run Python interpreter from the root project dir. Then you'll have access to own packages/modules and its dependencies installed to the venv.
Otherwise, if you need to install your package into system Python env, you need to pip install -e . outside of project's venv.
As #sinoroc pointed out in the comments, it was missing a __init__.py file in circuits

Can't remove Gatsby NPM package on MacOS

I'm having some issues getting Gatsby working. I want to remove my previous installation and start fresh.
Running npm list -g --depth 0 reveals:
/usr/local/lib
β”œβ”€β”€ gatsby-cli#2.12.68
β”œβ”€β”€ grunt-cli#1.3.2
└── npm#6.4.1
When I run npm uninstall --save -g gatsby-cli#2.12.68 the output is up to date in 0.031s - yet the Gatsby NPM package is still there.
Is there something I'm doing wrong here? Any help would be appreciated :)

bash: pm2: command not found

I can't run pm2 on ubuntu box.
I'm not sure what's the problem.
The pm2 is installed globally.
npm list -g --depth=0
/opt/nodejs/lib
β”œβ”€β”€ forever#0.15.3
β”œβ”€β”€ node-gyp#3.4.0
β”œβ”€β”€ npm#2.15.9
β”œβ”€β”€ pm2#2.1.5
β”œβ”€β”€ userdown#0.2.1
└── wait-for-mongo#0.2.0
But I still get
pm2
-bash: pm2: command not found
if I run other app
userdown
Starting Script is not provided
versions
node v4.5.0
npm v2.15.9
log from installation:
sudo npm install pm2 -g
npm WARN optional dep failed, continuing fsevents#1.0.15
/opt/nodejs/bin/pm2 -> /opt/nodejs/lib/node_modules/pm2/bin/pm2
/opt/nodejs/bin/rundev -> /opt/nodejs/lib/node_modules/pm2/bin/rundev
/opt/nodejs/bin/pm2-dev -> /opt/nodejs/lib/node_modules/pm2/bin/pm2-dev
/opt/nodejs/bin/pm2-docker -> /opt/nodejs/lib/node_modules/pm2/bin/pm2-docker
pm2#2.1.5 /opt/nodejs/lib/node_modules/pm2
β”œβ”€β”€ gkt#1.0.0
β”œβ”€β”€ eventemitter2#1.0.5
β”œβ”€β”€ semver#5.3.0
β”œβ”€β”€ async#1.5.2
β”œβ”€β”€ fclone#1.0.10
β”œβ”€β”€ pidusage#1.1.0
β”œβ”€β”€ vizion#0.2.13
β”œβ”€β”€ commander#2.9.0 (graceful-readlink#1.0.1)
β”œβ”€β”€ debug#2.3.0 (ms#0.7.2)
β”œβ”€β”€ pm2-axon-rpc#0.4.5 (fclone#1.0.8)
β”œβ”€β”€ pm2-deploy#0.3.3 (tv4#1.2.7)
β”œβ”€β”€ pm2-multimeter#0.1.2 (charm#0.1.2)
β”œβ”€β”€ chalk#1.1.3 (escape-string-regexp#1.0.5, ansi-styles#2.2.1, supports-color#2.0.0, strip-ansi#3.0.1, has-ansi#2.0.0)
β”œβ”€β”€ cli-table#0.3.1 (colors#1.0.3)
β”œβ”€β”€ mkdirp#0.5.1 (minimist#0.0.8)
β”œβ”€β”€ source-map-support#0.4.6 (source-map#0.5.6)
β”œβ”€β”€ nssocket#0.6.0 (eventemitter2#0.4.14, lazy#1.0.11)
β”œβ”€β”€ pmx#0.6.8 (json-stringify-safe#5.0.1)
β”œβ”€β”€ pm2-axon#3.0.2 (amp-message#0.1.2, escape-regexp#0.0.1, amp#0.3.1, debug#2.2.0)
β”œβ”€β”€ cron#1.1.1 (moment-timezone#0.5.9)
β”œβ”€β”€ yamljs#0.2.8 (glob#7.1.1, argparse#1.0.9)
β”œβ”€β”€ chokidar#1.6.1 (path-is-absolute#1.0.1, async-each#1.0.1, inherits#2.0.3, glob-parent#2.0.0, is-glob#2.0.1, is-binary-path#1.0.1, readdirp#2.1.0, anymatch#1.3.0)
β”œβ”€β”€ shelljs#0.7.5 (interpret#1.0.1, glob#7.1.1, rechoir#0.6.2)
└── moment#2.17.0
kamil#vps2:~$ pm2
-bash: pm2: command not found
ubuntu version:
uname -a
Linux vps2 2.6.32-042stab111.11 #1 SMP Tue Sep 1 18:19:12 MSK 2015 x86_64 x86_64 x86_64 GNU/Linux
Ok got answer myself.
I check what happens for
whereis pm2
pm2: /opt/nodejs/bin/pm2
then I checked
whereis userdown
userdown: /usr/bin/userdown /usr/bin/X11/userdown /opt/nodejs/bin/userdown
hmm in /usr/bin....
So I did
sudo ln -s /opt/nodejs/bin/pm2 /usr/bin/pm2
and it works :)
The problem is that you are running NPM as sudo, so you will only be able to access it using:
sudo pm2 start server.js
Install without sudo, you may even install without the -gflag and call it directly from node_modules directory. This may be useful if you do not have root (admin) privileges in the machine you're working on.
npm install pm2
./node_modules/.bin/pm2 start server.js
Follow the proper nodejs isntallation, npm permission fixes and npm global packages tweaks:
# https://gist.github.com/servercharlie/9a7e0d0e1645b4c6fbfe5de566fcf1ca
Your script needs to do some thing that requires root privilege? (ie: you're getting an error on using port 80)
[wrong] - trying to run w/ sudo
[correct] - login as root "sudo su" then do pm2 start app.js --name "whatever" --watch
that does it, no need to configure any bashrc or profile files.
extra: worried about your app doing crazy shit? (ie, since it's executed as root, the script can use nodejs's exec and do some crazy stuff.)
hence. do this: do the root-stuff first with your script, then lower your privilege after some timeout:
// i use port 80 first.. at this point the script's uid is ROOT.
app.listen(80);
// after 2 seconds we switch to uid AZUREUSER, which obviously isn't root anymore.
setTimeout(function(){
process.setuid("azureuser");
}, 2000);
In my scenario I wrote a shell script that was triggered by jenkins build and
I fixed using following link
https://github.com/Unitech/pm2-deploy/issues/41

Command not found

I'm running into a problem with accessing Yeoman after installing it on a fresh Homestead installation. Everything seems fine during the install after npm install -g yo and yo doctor runs just fine and finds no problem during the installation. However, after I've installed yeoman, yo: command not found is the error message I'm getting on my VM.
vagrant#homestead:~$ npm install -g yo
npm WARN deprecated npmconf#2.1.2: this package has been reintegrated into npm and is now out of date with respect to npm
/home/vagrant/.node/bin/yo -> /home/vagrant/.node/lib/node_modules/yo/lib/cli.js
/home/vagrant/.node/bin/yo-complete -> /home/vagrant/.node/lib/node_modules/yo/lib/completion/index.js
> spawn-sync#1.0.15 postinstall /home/vagrant/.node/lib/node_modules/yo/node_modules/spawn-sync
> node postinstall
> yo#1.8.4 postinstall /home/vagrant/.node/lib/node_modules/yo
> yodoctor
Yeoman Doctor
Running sanity checks on your system
βœ” Global configuration file is valid
βœ” Node.js version
βœ” No .bowerrc file in home directory
βœ” No .yo-rc.json file in home directory
βœ” npm version
βœ” NODE_PATH matches the npm root
Everything looks all right!
/home/vagrant/.node/lib
└─┬ yo#1.8.4
β”œβ”€β”€ async#1.5.2
β”œβ”€β”¬ chalk#1.1.3
β”‚ β”œβ”€β”€ ansi-styles#2.2.1
β”‚ β”œβ”€β”€ escape-string-regexp#1.0.5
β”‚ β”œβ”€β”€ has-ansi#2.0.0
β”‚ β”œβ”€β”€ strip-ansi#3.0.1
β”‚ └── supports-color#2.0.0
β”œβ”€β”€ cli-list#0.1.8
[[REMOVED FOR READABILITY]]
└─┬ yosay#1.2.0
β”œβ”€β”€ cli-boxes#1.0.0
β”œβ”€β”€ pad-component#0.0.1
β”œβ”€β”¬ taketalk#1.0.0
β”‚ β”œβ”€β”€ get-stdin#4.0.1
β”‚ └── minimist#1.2.0
└── wrap-ansi#2.0.0
vagrant#homestead:~$ yo
yo: command not found
My path in ~/.bashrc says the following: PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/home/vagrant/.node/lib
Is there anything else that I'm missing here that might be causing this?
Add /home/vagrant/.node/bin to your path. :)

npm doesn't install global modules correct

There's a problem with installing my global modules properly.
My System
OS: OS X Mountain Lion
node.js: 0.10.18 (Package installer)
Steps to reproduce
Input
npm install coffee -g (or any other module)
Output
npm http GET https://registry.npmjs.org/coffee
npm http 200 https://registry.npmjs.org/coffee
{lots of dependencies}
coffee#0.0.1 /usr/local/lib/node_modules/coffee
β”œβ”€β”€ node-getopt#0.2.3
β”œβ”€β”€ modular-amd#0.1.2
β”œβ”€β”€ chai#1.7.2 (assertion-error#1.0.0)
β”œβ”€β”€ mocha#1.11.0 (growl#1.7.0, debug#0.7.2, commander#0.6.1, diff#1.0.2, mkdirp#0.3.5, ms#0.3.0, jade#0.26.3, glob#3.2.1)
β”œβ”€β”€ express#3.2.6 (methods#0.0.1, fresh#0.1.0, range-parser#0.0.4, cookie-signature#1.0.1, buffer-crc32#0.2.1, cookie#0.1.0, debug#0.7.2, commander#0.6.1, mkdirp#0.3.4, send#0.1.0, connect#2.7.11)
β”œβ”€β”€ sinon#1.7.3 (buster-format#0.5.6)
└── sinon-chai#2.4.0
Input
coffee
Output
-bash: coffee: command not found
Other information
npm config get prefix: /usr/local
Read/Write access fΓΌr /usr/local: Yes
$PATH: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin
/usr/local/share/npm exists: No
/usr/local/lib/node_modules/coffee exists: Yes
/usr/local/bin/coffee exists: No
What else can I do?
I won't add the direct link to coffee to my $PATH-variable, because that's not my job, that's the job of npm! Really, why should I use npm when I could do it by myself? I read that answer like 100 times and I have no words for this, which aren't against the rules on SO.
If you want to install CoffeeScript globally (as one of the tags suggests), you shall install coffee-script (not coffee).
Additionally, sudo is required for installing global module on the Mac.
Command:
sudo npm install coffee-script -g
Input
% coffee
Output
coffee>

Resources