npm registry,Is that possible to publish Java or C# libraries in to npm registry - npm

npm registry,Is that possible to publish Java or C# libraries in to npm registry.
If so please recommend some articles or details on how to create a private npm registry.
Thanks in advance

Related

NPM equivalent of maven's install:install-file goal

I've come across an issue where one of my transitive dependencies went missing from the NPM registry, either due to a user error, or some other action. Being used to converting plain java projects to maven, I would depend on install plugin and install-file(1) goal to create a pom.xml file for that jar (a package.json equivalent), and it would be put into local repository under .m2 folder. Afterwards other projects could refer to it as if the package was available remotely.
In NPM I'm seeing that an equivalent to "referring to local package" works via link sub command, but what it really does is writes absolute path on local system to the needed package. That is great in scenario when you control a dependent package, but not so much when you don't.
I've also attempted to do the naive way of "installing a package globally" (such as using github tarball), because on github the release, and source code are still present. But since the tool that's also fetched from the NPM registry specifies that it must pull dependencies from the registry ignores the globally installed version of that library and fails. The command line of this would be as follows:
npm install -g https://github.com/{user}/{repo}/tarballs/{tag}
added 915 packages from 60 contributors
npm install -g "foo-cli#{tag}"
npm ERR! code ETARGET
npm ERR! notarget No matching version found for {repo}#^{tag}.
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
npm ERR! notarget
npm ERR! notarget It was specified as a dependency of 'foo-cli'
npm ERR! notarget
This does raise several questions:
Does local registry exist?
How do I tell NPM to first check "locally installed" versions for tools I do not control?
Am I stuck forking the tool to "link" it against my locally installed version of missing library?

Mirror npm repository

I have a non-internet network and I need npm to develop my application.
How could I mirror all the npm packages offline and then use it?
I've found Verdaccio for the private publish. I need a way to replicate the npm repository.

Error: EPERM: operation not permitted, unlink 'D:\Sources\**\node_modules\fsevents\node_modules\abbrev\package.json'

I just updated npm to 5.4.0.
Now, Whenever I want install a npm package I get the following error:
D:\Sources\DownloadCms\Md.Download\Web.Angular>npm install mds.angular.datetimepicker#latest --save
npm ERR! path D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.json
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall unlink
npm ERR! Error: EPERM: operation not permitted, unlink 'D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.json'
npm ERR! at Error (native)
npm ERR! { Error: EPERM: operation not permitted, unlink 'D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.jso
n'
npm ERR! at Error (native)
npm ERR! stack: 'Error: EPERM: operation not permitted, unlink \'D:\\Sources\\DownloadCms\\Md.Download\\Web.Angular\\node_modules\\fsevents\\node_modules\\ab
brev\\package.json\'\n at Error (native)',
npm ERR! errno: -4048,
npm ERR! code: 'EPERM',
npm ERR! syscall: 'unlink',
npm ERR! path: 'D:\\Sources\\DownloadCms\\Md.Download\\Web.Angular\\node_modules\\fsevents\\node_modules\\abbrev\\package.json' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Mohammad\AppData\Roaming\npm-cache\_logs\2017-09-03T03_25_50_432Z-debug.log
I'm dead sure, run CMD as administrator.
Also I checked D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.json\, package.json is not exist in path !
Edit:
Upgrade to v5.4.1, still get the same error, even cannot work around with --no-optional :-(
I was able to fix this by running the command prompt/bash as admin and closing VSCode!
Seems like VSCode was locking some files.
Potentially something else could be locking these files for you.
It is an npm 5.4.0 issue https://github.com/npm/npm/issues/18287
Workarounds are
downgrade to 5.3
try running with --no-optional, i.e. npm install --no-optional
Please close all IDE like visual studio code. run npm install command through node.js command prompt.
Enjoy !
If you downgrade to 5.3 and still get the same error in Windows like me.
After hours working with npm versions I found the following solution:
1. Download latest recommended version of nodejs, these days is node-v6.11.3-x64
2. Uninstall nodejs with it.
3. Go to C:\Users\{YourUsername}\AppData\Roaming folder and delete npm and npm-cache folders
4. Run installer of nodejs again and install it
5 Update npm to 5.3 with npm i -g npm#5.3 command line
Now you should use npm without any issues.
I tried this solution found at a How to fix Node.js blog
just use
npm cache clean
in windows if it refuses use
npm cache clean --force
cache clean and npm update to latest with force work for me
npm cache clean --force
npm install -g npm#latest --force
I fixed by downgrading npm from 5.4.0 to version 5.3
npm i -g npm#5.3
I Hope this helps for you
I had the same problem on Windows.
The source of the problem is simple, it is access permission on folders and files.
In your project folder, you need
After cloning the project, change the properties of the folder and change the permissions of the user (give full access to the current user).
Remove the read-only option from the project folder.
(Steps 1 and 2 take a long time because they are replicated to the entire tree below).
Inside the project folder, reinstall the node (npm install reinstall -g)
Disable Antivirus. (optional)
Disable Firewall. (optional)
Restart PC.
Clear the npm cache (npm clear)
Install the dependencies of your project (npm install)
After that, error "Error: EPERM: operation not permitted, unlink" will no longer be displayed.
Remember to reactivate the firewall and antivirus if necessary.
I had the same issue and all I needed to do was login to npm
npm login
or alternatively
npm add user // consult the documentation for the params
For those who are coming from Windows OS, you just need to stop the development server and then execute your npm install ... command.
It is strange how Windows doesn't allow installing dependencies while server is running, but MacOS does allow.
If this doesn't work, then only go for the other options - clean cache, downgrade nodejs etc.
If all of the above failed to work for you, you might want to
restart your system
run command prompt as admin
run the npm command
In my case, the problem was that, I did not install typescript. Although I did install Node and Angular.
To check if you have installed typescript or not
Run this command: tsc -v
If not, then to install typescript
Run this command: npm install -g typescript
And, finally to install required dependencies
Run this command: npm install
in the root folder of the project.
---- Hope this helps someone ----
I had this logs in Windows.
I did the following
Close Visual Studio Code
Run Command Line as admin
Deleting package-lock.json fixed it for me.
I'm using VsCode and solved this issue by stopping the application server and them run npm install. There are files that were locked by the application server.
No need to close the IDE, just make sure there's no another process locking some files on your projects.
Mine was as a result of opening my project folder a 2 different terminals. I solved it by closing all running terminal (vs code was excluded) and executing the installation command again.
I hope this helps someone.
NB: deleting node_modules didn't solve it.
For me it worked in bash from git package
try:
C:\Program Files\Git\bin\bash.exe
then:
npm install mds.angular.datetimepicker#latest
There seems to be many solutions out there that worked with downgrading npm versions. For me, the solution was
npm install -force
I tried the downgrading of npm versions, modifying my npm prefix config to match the npm directory, and clearing cache. None of these worked, but apparently they worked for others, so it may be worth a shot.
For me on Windows the problem was too long path length. I moved the project to a smaller length path and it worked.
Deleting my node modules folder and running a normal npm install did it for me
For me it was Docker...
The moment that I closed the app container, I could do an npm install without any proble
P.S My node version is 14.15.5
I fixed this by removing the dist folder
--- Remove dist or public folder
the same error comes to me when i update the npm version to the latest 5.4
downgrade to the version 5.3.0 is useful.the error comes from the npm 5.4,you can check it in the issuses in npm 5.4
npm install npm#5.3 -g
Fixed in NPM 5.6.0
Upgrade to NPM 5.6.0 solved problem for me.
I wanted to run npm install from within my external hard drive as this is where i saved my code workspace. Windows 10 OS.
But I was getting the same error as the original post.None of the previous answers worked for me, I tried all of them:
uninstalling nodejs then re-installing
uninstalling nodejs then downgrading/installing a lower version of nodejs.
npm install -force
deleting the folders from C:\Users{YourUsername}\AppData\Roaming ... npm and npm-cache then re-installing.
npm cache clean --force
npm cache clean
npm install --g or npm install --global
What worked for me was this:
copy the folder from C:\Program Files\nodejs to D:\Program Files\nodejs
Then go to Control Panel\System and Security\System
Advanced System Settings
Environment Variables
System Variables
Double click Path
Add a new path
D:\Program Files\nodejs
Click ok
restart PC.
try npm install from within D: Drive
npm cache verify solved my issue.
I was doing: ng new my-app
and I faced similar error
I have
node version: 10.16.0
npm v 6.9.0
After trying everything, including node/npm upgrade, cache cleaning and reverting code, nothing helped besides one simple thing: Turning OFF Windows 10's Real-time protection during the dev/build. Looks like latest updates made it super aggressive.
npm login is required before publish
For windows,
Download latest recommended version of nodejs, these days is node-v6.11.3-x64
Uninstall nodejs with it.
Go to C:\Users\{YourUsername}\AppData\Roaming folder and delete npm and npm-cache folders
Run installer of nodejs again and install it
By default npm 3.10.10 should be installed along with node-v6.11.3-x64.
It worked for me with npm 3.10.10 but did not work with 5.3.X.
Also it did not worked with higher versions of node (above
node-v6.11.3-x64)
My problem was executing the command (npm audit fix all). I solved it when closing VSCODE and re-executed the command without problems.

npm install express will cause many package to be installed

I am reading the Installing npm packages locally guide and looking for information about why when I use npm install express to install that package, nearly 40 other packages installed in the node_modules sub-directory.
Also if NPM supports the method as described above, how do we use npm publish to publish a bundle of packages in one command for download in NPM?

Kendo Angular 2 controls not in npm registry on XAML build

Started using angular2 with .NET Core and I'm trying to get continuous integration going on the build servers.
We are running TFS2013 so it's a XAML build definition. Since I don't want the node_modules folder checked in to source control, I'm attempting to run npm install in a powershell script before the build starts.
When I do this I get the following
npm ERR! 404 Not found : #progress/kendo-angular-dropdowns npm ERR!
404 npm ERR! 404 '#progress/kendo-angular-dropdowns' is not in the
npm registry. npm ERR! 404 You should bug the author to publish it
(or use the name yourself!) npm ERR! 404 It was specified as a
dependency of 'angular2-webpack' npm ERR! 404 npm ERR! 404 Note that
you can also install from a npm ERR! 404 tarball, folder, http url,
or git url.
On Telerik's site they say you need to enable the NPM registry by running this in the console
npm login --registry=https://registry.npm.telerik.com/ --scope=#progress
This requires you to provide account details though.
I've done this on the build server and I'm able to run npm install successfully from the command line, but no such luck when attempting it from the powershell script in MSBuild.
Any help would be greatly appreciated.
The error is most likely caused by the registry not available to the build script.
Make sure that there is a .npmrc file that specifies the registry and the auth token, not unlike this:
#progress:registry=https://registry.npm.telerik.com/
//registry.npm.telerik.com/:_authToken=long_secret_token_here
... and that the file is honored by MsBuild.