yeoman generator creating files in home directory - yeoman

I am using the yeoman angular generator https://github.com/yeoman/generator-angular#readme. I am following the instructions to install using the command npm install -g grunt-cli bower yo generator-karma generator-angular and then created a directory inside which I run the command yo angular myApp but the files are generated inside the home directory i.e ~/ The only directory I see inside angular-app is only the node_modules. Please help me understand where I am going wrong and how to fix this.

Found the answer after hours of searching on internet. The Gruntfile.js was in the home directory and it was referring to it. I deleted the file inside my home directory and all of it started working again. Here is the link, which might be useful if someone face the same issue - Link

Related

How to run electron-packager offline without internet?

I have an Angular project. I want to convert him to Desktop application. For this i use Electron.js.
I can run
electron .
It works fine.
But now i want to make an exe.
For this i want to use electron-packager.
The problem:
I run:
electron-packager . --platform=win32
The error:
getaddrinfo EAI_AGAIN github.com
I understand that electron-packager needs github, but how to solve it?! Again i work offline(with jfrog artifactory) without internet.
Is there another electron package which can do the same without internet? (make an exe)
The problem is that electron-packager go to github.com to download electron.js.
So as #Alexander Leithner said to use electronZipDir option. (and also malept in electron channel in Discord)
The solution is simple, when you executed:
npm install electron
A zip file of the binaries of electron are cached in your computer.
The command for electron-packager looks like this:
npm install -D electron-packager
npx electron-packager . -- platform=win32 --electronZipDir=C:/Users/baruc/AppData/Local/electron/Cache/**some long string**
Thats all
Edit 25/7/2021
Theoretically, electron-packager has an option called "download" which you can pass to him a "cacheRoot" or "mirrorOptions" to download the electron.zip file.
By default you dont need to change the cacheRoot, but unfortunately both options of the download didnt work for me.
BTW, mirrorOptions got an object, not a string. So its not clear how to pass an object from the command line.
I saw that in the file artifact-utils.js of the #electron/get library, and there in the function called "mirrorVar" it search a special environment variables or the mirrorOptions which i tell before. If this function wont find them it will take the default which is github.
Solution when you have an artifactory:
Create in your project an .npmrc file and write there:
ELECTRON_MIRROR="http://my mirror site/electron/"
Be aware that it end with back slash.
Go to package.json file, and there to scripts write:
"pac": "electron-packager -- . --platform=win32"
3.execute it: npm run pac

yeoman creates project in Desktop even though I CD into directory

I am having a issue creating a yeoman project. I cd in the directory type yo and it says:
Here is it suppose to asked me project name etc and it wants to throw everything on my desktop not the file I cd into. It defaults to mvn and I want gradle. I even npm uninstall -g generator-jhipster
and reinstalled it and got the same issue.
If you have a .yo-rc.json file in a parent directory, Yeoman will load that configuration and generate from that file instead of prompting. This allows developers to run a yo command from any folder in the project and have it apply to the correct files.
To solve this, remove the .yo-rc.json from the parent directory, in your case /Users/drew/Desktop.
For example, if you are in the directory /Users/drew/Desktop/new-project but /Users/drew/Desktop has a .yo-rc.json inside, Yeoman will change to the parent directory (Desktop), load the configuration, and generate the files from that folder instead of the child folder.
Based on your log it's looks like you are running yo in a folder where a .yo-rc.json is already existing. Careful under windows the .yo-rc.json can be that is of type hidden and you can't see it in explorer. Because of an existing .yo-rc.json you are not asked anymore for info e.g. project name, build tool etc. My recommendation will be to create a new folder run inside yo command

renaming a Yeoman generator

I installed a custom Yeoman generator and am attempting to duplicate it and rename it for other uses. However, the new generator doesn't seem to get installed.
I tried renaming the generator name in package.json and running npm install and npm link, but still don't see the new generator when I type yo --help.
Any ideas on what I might be missing?
I did try renaming the folder - thanks.
Found out what my particular issue was.. I stumbled across another post saying that the issue could result if NODE_PATH is empty.
Once I ran the following it worked for me:
export NODE_PATH="$HOME/.nvm/nvm current | sed -e 's/current\:[[:space:]]*//'/lib/node_modules"

Ruby on Rails Tutorial - 5.26 - Sublime Text "Unable to Save" new file "spec/support/utilities.rb"

I am using Sublime Text 2 while following Michael Hartl's Ruby on Rails Tutorial.
The specific portion of the tutorial to which I am referring can be found at http://ruby.railstutorial.org/book/ruby-on-rails-tutorial (ctrl+F "Listing 5.26").
I am able to create the spec/support file. However, when trying to create the spec/support/utilities.rb file, I receive the message "Unable to save ~/rails_projects/sample_app/spec/support/utilities.rb".
Does anyone know why this might be?
Someone on the Sublime Text forum seems to have had the exact same problem: http://www.sublimetext.com/forum/viewtopic.php?f=3&t=8570&p=36922#p36922
This issue sounds like it's a result of incorrect permissions or ownership of the folder. Change directories (cd) so you're outside of the folder where you're creating the .rb file and type:
ls -l
This terminal command lists the permissions attached to all files/folders in that directory. If "root" is listed as the folder owner, change its owner by typing:
sudo chown YOUR_COMP_USER_NAME FOLDER_NAME/
You should now be able to save files from inside that folder.
To diagnose this, first find out if it's an issue in Sublime or your file system:
Does that file already exist? Try looking for it on your file system (not using Sublime).
Verify that you have permission to write to that file. Use "ls -la" on the command line to show the file permissions.
Are you able to create and/or save that file using any different editor, for example TextMate, or Notepad?
The following sublime plugin fixed the Unable to save... bug
https://gist.github.com/3779601
The folder spec/support doesn't exist, and sublime won't create the missing folder, so it errors.
You just need to make the spec/support folder , then sublime will save the file.
I also highly recommend installing the AdvancedNewFile plugin ( Video of it action thanks to Jeffrey Way and NetTuts+ ) , which you can grab straight from Package Control.
It creates files, parent folders if needed, and if you try to create a file that already exists, it opens it instead.
This can happen if you are trying to create the file within a directory that does not currently exist. For ex. I was unable to save
~/rails_projects/sample_app/app/views/shared/_error_messages.html.erb
via the "subl" command from the Terminal because I was missing /shared/ folder. Hope that helps.
so #knice almost had it, I ran into the same problem with permission when starting my first rails project on mavericks.
as mentioned if you run ls -l you'll see your folder / files listed with their permissions
I solved this by changing ownership recursively with the following command from outside my project directory
sudo chown -Rv <your_username> <your_path_and_foldername>
for example if you're in your folder in terminal you should cd .. and then
sudo chown -Rv username ruby_proj/
the -R is for recursive meaning it will apply to all files and folder contained within the folder you specified, and the v after just produces verbose output, showing you which folder and file permissions have been changed.
Hope that helps someone else.

./create: No such file or directory error in terminal window

I am very new to iPhone development and I am looking to work with the PhoneGap framework to create iPhone apps. I installed Phonegap on Mac OS X Lion. I got this error in the terminal window for ./create <project_folder_path> <bundle_id> <project_name>:
./create: No such file or directory
I have searched Google to solve this error, but I can't find any idea from there. Could you please help me solve this issue and run the project? Thanks in advance. Looking forward to your answers.
You probably need to check your current directory with the pwd command, which is what the . is shorthand for. The create executable sits in the Cordova bin directory, not your project directory.
For example, this site shows the required command line to be (spread across multiple lines for readability):
./path/to/cordova-ios/bin/create
/path/to/my_new_cordova_project
com.example.cordova_project_name
CordovaProjectName
In other words, create is separate from your project.
The solution is probably to fully specify the path name of create.
./path/to/cordova-ios/bin ./create
~/<project_folder_path> <bundle_id> <project_name>
This works for me :
Download cordova-3.0.0 and put the folder in your document folder. Expand cordova-ios.zip inside.
Create a folder CordovaTestProject inside your document folder.
Then, open the terminal and try :
./Documents/cordova-3.0.0/cordova-ios/bin/create /Users/<username>/Documents/CordovaXY/HelloWorld org.apache.cordova.HelloWorld HelloWorld
replace <username> by your username. You can get it with pwd in terminal. In terminal, type "pwd" and you will get your username
Make sure that you are inside \phonegap-2.7.0\lib\ios\bin before entering ./create command. Refer the Blog Tutorial for a simple and straight forward explanation of PhoneGap instalation in Mac for iOS and creating a new project.

Resources