I want to make a script for my angular2 project that renames README.md to README_2.md. I installed "renamer" : "0.6.1" and made this script:
"renameMd": "renamer --find js/README.md --replace js/README_2.md" in package.json, but it doesn't work. It gives me this error: No input files supplied. How can I fix it ?
PS: the file is located in the js folder.
renamer takes a last parameter to filter the files that need to be renamed.
renamer --find README --replace README_2 js/README.md should work.
If you are using Linux, you could also use mv: mv js/README.md js/README_2.md (move in Windows).
Explanation :
There are about 15 subfolders in the node_modules directory. When going to perform any operation (deleted, moved or renamed) it popup below message.
Error message:
The source file name(s) are larger than is supported by the file
system. Try moving to a location which has a shorter path name, or try
renaming to shorter name(s) before attempting this operation.
Screenshot :
sub folder inside npm_modules directory.
node_modules\gulp-connect\node_modules\gulp-util\node_modules\dateformat\node_modules\meow\node_modules\normalize-package-data\node_modules\validate-npm-package-license\node_modules\spdx-expression-parse\node_modules\spdx-license-ids\spdx-license-ids.json
Tried so far:
I also tried to delete the folder (node_modules) using command prompt using command rmdir <dirname> /S but did not work as well.
There is a way to do this is that go into subfolder after subfolder, renaming each folder to something short like 'b'. Eventually the path is short enough to allow deletion. This will waste quite a bit of time.
Is there any efficient way to delete this node_modules directory?
Newest versions of npm fix this issue flattening the path: https://github.com/npm/npm/issues/3697.
Try
D:\vms\fe> robocopy d:\path\to\temp\dir node_modules /purge
to remove the nested dirs.
Update
As pointed by Coding Professor, another option is use rimraf util (which basically calls rm -rf):
> npm install -g rimraf
> rimraf node_modules
For the record, and because of the release of a newish open-source project released by Microsoft, you can easily delete paths that are too long using WinFile (which was introduced in WinXP).
Sometimes you have to go "Back to the Future". This can delete paths too long on Microsoft networks share as well.
WinFile (compiled for Win10) available here https://github.com/Microsoft/winfile
To find many paths that are too long and automate a fix, I recommend Path Too Long Auto Fixer - a free demo is available.
I want to start learning node.js from Lynda.com "Node.js Essential Training", but I cannot extract the exercises files' "node-modules" folder for chapters 09_03 and 11_06.
I get for example this:
! C:\no\e.zip: Cannot create folder Ex_Files_Nodejs_EssT\Exercise Files\Ch11\11_06\start\node_modules\grunt-contrib-jshint\node_modules\jshint\node_modules\htmlparser2\node_modules\domutils\node_modules\dom-serializer\node_modules\entities\maps
! The filename or extension is too long.
! C:\no\e.zip: Cannot create Ex_Files_Nodejs_EssT\Exercise Files\Ch11\11_06\start\node_modules\grunt-contrib-jshint\node_modules\jshint\node_modules\htmlparser2\node_modules\domutils\node_modules\dom-serializer\node_modules\entities\maps\legacy.json
Total path and file name length must not exceed 260 characters
! The system cannot find the path specified.
How will I be able to make those exercises if I cannot extract the files?
Can you extract them without the node_modules/ folder?
You don't have to extract the installed dependencies. Instead, there should be a package.json file and then you can install them by running npm install command (from cmd or git bash terminal).
Check also that you're running version 3 of NPM (npm --version). Then all dependencies will be installed flat (not nesting node_modules/) and that won't cause your issue.
Try using a file extraction program like WinZip or 7Zip. It should allow you to redirect the extraction of certain files or folders to another location.
How can I install a sublimetext3 package manually, without the package control. I am trying to fix a bug in an existing package, therefore I need a way to test my changes.
what are the naming conventions to be followed when naming the zip file?
Where do I place it?
what other configurations I have to do?
Download the ZIP, and then place it in your Packages directory which can be found by doing Sublime Text -> Preferences -> Browse Packages...
what are the naming conventions to be followed when naming the zip file? Where do I place it? what other configurations I have to do?
This really depends on the specific package you are downloading. For some packages, you can name it whatever you want. For others, the name has to be exact. If you are downloading these packages manually from GitHub, I urge you to read the documentation in the README. They usually provide instructions for manual installation. For example, if you wanted to download the Spacegray theme manually, it tells you to download the ZIP, unzip the folder, and rename it to Theme - Spacegray.
Depending on your OS, your package directory might be one of these and for most of the packages, just extract the content to this folder (with it's root folder as the name)
Linux: ~/.config/sublime-text-3/Packages
OS X: ~/Library/Application Support/Subime Text 3/Packages
Windows: %APPDATA%\\Sublime Text 3
I am trying to fix a bug in an existing package, therefore I need a
way to test my changes.
I was in the same situation. The accepted answer didn't work for me because Package Control would automatically remove the folder. I found this to be helpful:
https://packagecontrol.io/docs/customizing_packages
Sublime Text 3 offers the most options for overriding a package. By
default, packages will be installed by placing a .sublime-package file
in the Install Packages/ folder. Then users may override individual
files in the package by creating a folder Packages/{Package Name}/ and
placing edited files in there.
Another approach is PackageResourceViewer, which allows you to extract and override individual files from packages, including the built-in packages.
The best answer I think, so far, is this one by #Andreas Haferburg.
The most-upvoted answer also has some really useful information, such as the link to the spacegray package which states:
Manual
You can also install the theme manually:
Download the .zip
Unzip and rename the folder to Theme - Spacegray
Copy the folder into Packages directory, which you can find using the menu item Sublime Text -> Preferences -> Browse Packages...
That is where I first learned about the existence of the Packages folder and how to find its path.
Using those answers together, plus putting in about 1 weekend worth of work into learning about how Sublime Text packages and syntax highlighting work, I wrote the following "Developer Notes & Package Development Tutorial", on GitHub, as well as these "manual installation" instructions.
In short, to "install a package" withOUT Package Control, all you need to do is put the package into your Sublime Text Packages folder, whose path can be found by going to Preferences --> Browse Packages.... The folder name can be anything. It only needs to match what is inside the Installed Packages dir (which is at the same level as the Packages dir) if you want to override an already-installed package which was previously installed by Package Control in "packed" (zip file) format.
The main link you should study, aside from my tutorial, is this: https://packagecontrol.io/docs/customizing_packages.
1. How to manually install a package
Here are some of the key quotes and instructions from my manual installation instructions and tutorial.
Again, note that I am only requiring that the name in the Packages folder be something specific like gcode in the instructions below because my instructions are intended to override a Package-Control-installed package the reader may already have installed. If you want to install for the first time, or make a new package, the folder name you use inside the Packages folder can be anything.
2. Manual installation
In Sublime Text, find the path to your Packages folder by clicking Preferences --> Browse Packages.... This will open up your GUI file manager to the path where Sublime Text packages are stored. For me on Linux Ubuntu 20.04, that's /home/gabriel/.config/sublime-text-3/Packages (even though I am running Sublime Text 4).
Now, extract this package to that folder.
Option 1: the GUI way: click the green "Code" button above --> "Download ZIP" --> save the zip file, extract it to your Packages path above, and rename it to gcode.
OR Option 2 [what I prefer]: the command-line way:
# --------------
# Option 2.A: clone the repo directly into your "Packages" dir
# --------------
# cd to the Packages dir (change this path according to your Packages path above)
cd "$HOME/.config/sublime-text-3/Packages"
# clone the repo
git clone https://github.com/ElectricRCAircraftGuy/sublime_gcode.git
# rename the repo dir to "gcode"
mv sublime_gcode gcode
# --------------
# OR Option 2.B [what I prefer]: clone the repo into wherever you want, and then
# symlink it into your "Packages" dir
# --------------
# clone repo into ~/dev
mkdir -p ~/dev
cd ~/dev
git clone https://github.com/ElectricRCAircraftGuy/sublime_gcode.git
# now symlink it into your Packages dir
ln -si ~/dev/sublime_gcode ~/.config/sublime-text-3/Packages/gcode
That's it! The gcode entry is now instantly available in your syntax highlighting menu.
Developer Notes & Package Development Tutorial
...
...
...
Sublime Text packages and syntax highlighting--how it all works
And here are some really important notes about Sublime Text packages and how Package Control works:
1. Sublime Text packages
Any folder inside of your Sublime Text Packages folder (found via Preferences --> Browse Packages...) is automatically instantly loaded by Sublime Text as a "package".
Packages installed by the Package Control package, however, come in two types:
Packed: most packages installed by Package Control are "packed" into a zip file named packageName.sublime-package and are located inside the Installed Packages dir which is at the same level as the Packages dir.
If you manually create a dir inside the Packages dir and name it packageName (to match the packed file above), then any files in it with the same name as those in the packed package will override those in the packed package. See the "Overrides" section here: https://packagecontrol.io/docs/customizing_packages.
Unpacked: any package which is installed in the Packages dir is unpacked.
Developers can tell Package Control to unpack a package installed by Package Control by placing a file named .no-sublime-package at the root of their repo. See here: https://packagecontrol.io/docs/submitting_a_package.
Unpacked packages are required if they contain binary executables which need to be run by the system, for instance, as they apparently can't run from inside the packed zip file.
2. Syntax highlighting
Hopefully I got all of this straight.
If you want to learn more about Syntax Highlighting in Sublime Text, and how it maps to scope entries in your Color Scheme, read my tutorial.
2. Test your changes
I am trying to fix a bug in an existing package, therefore I need a way to test my changes.
See also this section in my tutorial:
To modify and test changes to this package locally...
...in case you'd like to change it or contribute to it, follow the "manual installation" instructions above. If you have already installed it via Package Control, then what is in your /home/$USERNAME/.config/sublime-text-3/Packages/gcode folder will override what is in your /home/$USERNAME/.config/sublime-text-3/Installed Packages/gcode.sublime-package zip file which Package Control installed, so long as the folder and file names are the same.
Modify any files in the Packages/gcode dir as desired. Each time you save, the changes will instantly be reflected in all Sublime Text editors you have open. As a quick test:
Open a gcode file.
Click your cursor on some text in the file.
Use the Tools --> Developer --> Show Scope Name trick to see what the scope is for that text.
Open the corresponding *.sublime-syntax file.
Change or delete the regular expression in the match entry for that corresponding scope you just found, so that it no longer matches the text on which you placed your cursor.
Save the *.sublime-syntax file and you will instantly see the formatting of that text in the gcode file change.
Undo your change to the match entry and save again. The formatting will return to how it was.
Go to Preferences --> Customize Color Scheme, and add a custom rules entry for that scope, with new formatting for that scope. Save it and watch the formatting instantly change again. Delete that custom entry when done, if desired.
I am installing cufflinks on my Mac OS X, and here is the instruction:
http://cufflinks.cbcb.umd.edu/tutorial.html
Under Installing the SAM tools I follow the instructions below
Download the SAM tools
Unpack the SAM tools tarball and cd to the SAM tools source directory.
Build the SAM tools by typing make at the command line.
Choose a directory into which you wish to copy the SAM tools binary, the included library libbam.a, and the library headers. A common choice is /usr/local/.
Copy libbam.a to the lib/ directory in the folder you've chosen above (e.g. /usr/local/lib/)
Create a directory called "bam" in the include/ directory (e.g. /usr/local/include/bam)
Copy the headers (files ending in .h) to the include/bam directory you've created above (e.g. /usr/local/include/bam)
Copy the samtools binary to some directory in your PATH.
I've done the fist 7 steps, but I am not sure how to proceed with the last step (#8): should I use the command:
sudo cp -a samtools-0.1.18 /usr/local/
or into some other directories? What does the PATH in step 8 indicate? Thanks!
To answer your question I will go over some basic linux knowledge that has helped me understand binaries and their locations.
In linux, you can run a binary by typing in a complete path to the binary and the binary will run. For example, if I have a binary named foo in /usr/local/bin, I would run the command /usr/local/bin/foo and the foo binary would be run.
The purpose of the PATH is a shortcut so that you don't need to type in the complete path to the binary, just the name of the binary. PATH is a variable that contains all of the directories that have binaries that you want to have the shortcut apply to. So, referring to the previous example, if /usr/local/bin is in my PATH variable, then I could just run foo.
So, to answer your question, you can tell which directories that are in your PATH by running the command echo $PATH and if one of the directories is where your samtools binaries are, your good!! If not, you can move your samtools binaries to one of those directories so that you don't have to put the full path everytime you want to run the binaries.