I'm developing a couple of composer packages (mainly related to the Yii2 framework) served by private Satis repository. Most of them is at the very beginning of development process, so they should be available as dev-master version due to master branch location within GIT repository.
The problem occurs when I'm trying to install dev-master of any package, i.e. foo/my-package:
./composer.phar require foo/my-package
Problem 1
- The requested package foo/my-package dev-master exists as foo/my-package[dev-master] but these are rejected by your constraint.
so, if dev-master exists, please install this version for me anyway:
./composer.phar require foo/my-package dev-master
[InvalidArgumentException]
Could not find package foo/my-package in a version matching dev-master
Now i'm confused. I've tried to install #dev version of foo/my-package and magically everything works, dev-master (!) version has been installed:
./composer.phar require foo/my-package #dev
Package operations: 6 installs, 0 updates, 0 removals
- Installing yiisoft/yii2-composer (dev-master 0933fd9): Downloading (100%)
- Installing yidas/yii2-bower-asset (2.0.12): Downloading (100%)
- Installing cebe/markdown (1.1.2): Downloading (100%)
- Installing ezyang/htmlpurifier (v4.14.0): Downloading (100%)
- Installing yiisoft/yii2 (2.0.12.2): Downloading (100%)
- Installing foo/my-package (dev-master ce0ac57): Cloning ce0ac5752b from cache
What is the main problem? my-package GIT repository have also feature/#1234 branch. When Satis repository generator is configured to serve all versions of all packages ({"require-all": true}) instead of configuration shown below, using #dev as package version during composer require operation will cause installation of source code from feature/#1234 branch (no matter if it's HEAD points to patch newer or older than masters' branch HEAD). I would like to setup Satis with require-all as true and install packages as dev-master in this case (but dev-feature/#1234 in other project); but first of all I need to understand why it's behave that way.
Composer version 1.10.25 2022-01-21 10:02:15 (it's required to use version prior to v2)
Satis configuration (main.json)
{
"name": "foo/bar",
"description": "foo",
"homepage": "https://foo.bar",
"repositories": [
{
"type": "git",
"url": "ssh://user#domain/path/foo-my-package.git"
},
...
],
"require": {
"foo/my-package": "dev-master",
...
}
"archive": {
"directory": "dist",
"format": "tar",
"checksum": true
}
}
foo/my-package composer file (composer.json)
{
"name": "foo/my-package",
"description": "description",
"type": "yii2-extension",
"license": "proprietary",
"keywords": [
"yii2",
"extension",
],
"minimum-stability": "dev",
"require": {
"php": ">=7.1.0",
"yidas/yii2-bower-asset": "*",
"yiisoft/yii2": "~2.0.12.2"
},
"autoload": {
"psr-4": {
"foo\\mypackage\\": "src"
}
},
"repositories": [
{
"type": "composer",
"url": "https://foo.bar"
}
],
"config": {
"preferred-install": {
"foo/*": "source",
"*": "dist"
}
}
}
Sandbox project configuration where I'm trying to install foo/my-package, in state before installing #dev version of the package (composer.json)
{
"name": "composer/sandbox",
"description": "description",
"keywords": [],
"type": "project",
"license": "proprietary",
"support": {},
"minimum-stability": "dev",
"require": {},
"require-dev": {},
"config": {
"process-timeout": 1800,
"allow-plugins": {
"yiisoft/yii2-composer": true
},
"preferred-install": {
"foo/*": "source",
"*": "dist"
}
},
"repositories": [
{
"type": "composer",
"url": "https://foo.bar"
}
]
}
I'm stuck with this problem since hours and I thought that maybe one of you encountered it before.
I get
Error: HTTP Error: 404, Method not found. when I run firebase deploy --only functions so I'm unable to deploy my last updates.
This happens with ALL my Firebase Cloud Functions projects
This does not happen with my Firebase Hostings
Here's what I get when I add --debug:
firebase deploy --only functions:onBookingCreated --debug
[2020-08-25T15:18:37.029Z] ----------------------------------------------------------------------
[2020-08-25T15:18:37.032Z] Command: /usr/local/Cellar/node/12.4.0/bin/node /usr/local/bin/firebase deploy --only functions:onBookingCreated --debug
[2020-08-25T15:18:37.032Z] CLI Version: 7.0.0
[2020-08-25T15:18:37.032Z] Platform: darwin
[2020-08-25T15:18:37.032Z] Node Version: v10.15.3
[2020-08-25T15:18:37.033Z] Time: Tue Aug 25 2020 17:18:37 GMT+0200 (Central European Summer Time)
[2020-08-25T15:18:37.034Z] ----------------------------------------------------------------------
[2020-08-25T15:18:37.044Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[2020-08-25T15:18:37.044Z] > authorizing via signed-in user
[2020-08-25T15:18:37.044Z] [iam] checking project infinitytechnologies for permissions ["cloudfunctions.functions.create","cloudfunctions.functions.delete","cloudfunctions.functions.get","cloudfunctions.functions.list","cloudfunctions.functions.update","cloudfunctions.operations.get","firebase.projects.get"]
[2020-08-25T15:18:37.046Z] >>> HTTP REQUEST POST https://cloudresourcemanager.googleapis.com/v1/projects/infinitytechnologies:testIamPermissions
permissions=[cloudfunctions.functions.create, cloudfunctions.functions.delete, cloudfunctions.functions.get, cloudfunctions.functions.list, cloudfunctions.functions.update, cloudfunctions.operations.get, firebase.projects.get]
[2020-08-25T15:18:37.814Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Tue, 25 Aug 2020 15:18:42 GMT, server=ESF, cache-control=private, x-xss-protection=0, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, server-timing=gfet4t7; dur=622, alt-svc=h3-29=":443"; ma=2592000,h3-27=":443"; ma=2592000,h3-T050=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43", accept-ranges=none, transfer-encoding=chunked
=== Deploying to 'infinitytechnologies'...
i deploying functions
Running command: npm --prefix "$RESOURCE_DIR" run build
> functions# build /Users/Ben/infinitytechnologies-functions/functions
> tsc
✔ functions: Finished running predeploy script.
[2020-08-25T15:18:48.982Z] > [functions] package.json contents: {
"name": "functions",
"scripts": {
"build": "tsc",
"buildRun": "tsc -w",
"serve": "npm run build && firebase serve --only functions",
"shell": "npm run build && firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"engines": {
"node": "8"
},
"main": "lib/index.js",
"dependencies": {
"#google-cloud/logging-winston": "^3.0.5",
"cors": "^2.8.5",
"express": "^4.17.1",
"firebase": "^7.19.0",
"firebase-admin": "^8.13.0",
"firebase-functions": "^3.0.0",
"googleapis": "^43.0.0",
"html-encoder-decoder": "^1.3.8",
"moment": "^2.24.0",
"moment-timezone": "^0.5.27",
"morgan": "^1.9.1",
"morgan-body": "^2.4.8",
"node-mailjet": "3.3.1",
"telegraf": "^3.30.1",
"tmp": "^0.1.0",
"winston": "^3.2.1"
},
"devDependencies": {
"#types/moment-timezone": "^0.5.12",
"typescript": "^3.7.4"
},
"private": true
}
i functions: ensuring necessary APIs are enabled...
[2020-08-25T15:18:48.983Z] >>> HTTP REQUEST GET https://servicemanagement.googleapis.com/v1/services/cloudfunctions.googleapis.com/projectSettings/infinitytechnologies?view=CONSUMER_VIEW
[2020-08-25T15:18:48.984Z] >>> HTTP REQUEST GET https://servicemanagement.googleapis.com/v1/services/runtimeconfig.googleapis.com/projectSettings/infinitytechnologies?view=CONSUMER_VIEW
[2020-08-25T15:18:49.689Z] <<< HTTP RESPONSE 404 x-debug-tracking-id=15822584760350287123;o=0, vary=X-Origin, Referer, Origin,Accept-Encoding, content-type=application/json; charset=UTF-8, date=Tue, 25 Aug 2020 15:18:54 GMT, server=ESF, cache-control=private, x-xss-protection=0, x-frame-options=SAMEORIGIN, alt-svc=h3-29=":443"; ma=2592000,h3-27=":443"; ma=2592000,h3-T050=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43", accept-ranges=none, transfer-encoding=chunked
[2020-08-25T15:18:49.689Z] <<< HTTP RESPONSE BODY code=404, message=Method not found., status=NOT_FOUND
Error: HTTP Error: 404, Method not found.
[2020-08-25T15:18:49.692Z] Error Context: {
"body": {
"error": {
"code": 404,
"message": "Method not found.",
"status": "NOT_FOUND"
}
},
"response": {
"statusCode": 404,
"body": {
"error": {
"code": 404,
"message": "Method not found.",
"status": "NOT_FOUND"
}
},
"headers": {
"x-debug-tracking-id": "15822584760350287123;o=0",
"vary": "X-Origin, Referer, Origin,Accept-Encoding",
"content-type": "application/json; charset=UTF-8",
"date": "Tue, 25 Aug 2020 15:18:54 GMT",
"server": "ESF",
"cache-control": "private",
"x-xss-protection": "0",
"x-frame-options": "SAMEORIGIN",
"alt-svc": "h3-29=\":443\"; ma=2592000,h3-27=\":443\"; ma=2592000,h3-T050=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"",
"accept-ranges": "none",
"transfer-encoding": "chunked"
},
"request": {
"uri": {
"protocol": "https:",
"slashes": true,
"auth": null,
"host": "servicemanagement.googleapis.com",
"port": 443,
"hostname": "servicemanagement.googleapis.com",
"hash": null,
"search": "?view=CONSUMER_VIEW",
"query": "view=CONSUMER_VIEW",
"pathname": "/v1/services/cloudfunctions.googleapis.com/projectSettings/infinitytechnologies",
"path": "/v1/services/cloudfunctions.googleapis.com/projectSettings/infinitytechnologies?view=CONSUMER_VIEW",
"href": "https://servicemanagement.googleapis.com/v1/services/cloudfunctions.googleapis.com/projectSettings/infinitytechnologies?view=CONSUMER_VIEW"
},
"method": "GET"
}
}
}
[2020-08-25T15:18:49.693Z] <<< HTTP RESPONSE 404 x-debug-tracking-id=13898179262678311641;o=0, vary=X-Origin, Referer, Origin,Accept-Encoding, content-type=application/json; charset=UTF-8, date=Tue, 25 Aug 2020 15:18:54 GMT, server=ESF, cache-control=private, x-xss-protection=0, x-frame-options=SAMEORIGIN, alt-svc=h3-29=":443"; ma=2592000,h3-27=":443"; ma=2592000,h3-T050=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43", accept-ranges=none, transfer-encoding=chunked
[2020-08-25T15:18:49.693Z] <<< HTTP RESPONSE BODY code=404, message=Method not found., status=NOT_FOUND
Thanks for your help! :)
You're using a very old version (7.0.0) of the Firebase CLI. The latest is 8.9.0. Upgrade it by following the instructions to install it. If you installed with npm, then just run npm i -g firebase-tools. You should be diligent about keeping it up to date over time, as it changes frequently.
thanks for answering so quickly!
I tried to do that but I get this:
(base) Ben MBP:functions Ben$ npm install -g firebase-tools
npm WARN deprecated request#2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator#5.1.5: this library is no longer supported
/usr/local/Cellar/node/14.8.0/bin/firebase -> /usr/local/Cellar/node/14.8.0/lib/node_modules/firebase-tools/lib/bin/firebase.js
npm WARN ws#7.3.1 requires a peer of bufferutil#^4.0.1 but none is installed. You must install peer dependencies yourself.
npm WARN ws#7.3.1 requires a peer of utf-8-validate#^5.0.2 but none is installed. You must install peer dependencies yourself.
+ firebase-tools#8.9.0
updated 1 package in 10.942s
(base) Ben MBP:functions Ben$ firebase -V
7.0.0
So the problem was with brew and its Cellar folder. I don't know why but it didn't work properly.
So I just deleted the Cellar folder, reinstalled node manually (not using brew) and I could update firebase-tools and everything is now working fine!
Thanks for your help!
I had the same issue. I installed NodeJS 12.18 and then fired below commands
npm install -g firebase firebase-tools
firebase init functions
Then copied all code files to this new functions folder. Updated package.json with necessary packages. This resolved my issue.
Inherited a broken NLog project from a long-gone co-worker...
VS2015 update 2
Latest Node install
Latest npm update 3.10.3
'.net 5.0' project (pre-core 1.0)
My npm node always says 'npm - not installed'
When I right click, I instantly get 'illegal characters in path'
here's my package.json
{
"version": "0.0.0",
"name": "asp.net",
"devDependencies": {
"gulp": "^3.9.0",
"gulp-bower": "^0.0.11",
"gulp-concat": "^2.6.0",
"gulp-install": "^0.6.0",
"gulp-sass": "^2.1.1",
"gulp-uglify": "^1.5.1",
"gulp-util": "^3.0.7",
"gulp-watch": "^4.3.5",
"run-sequence": "^1.1.5",
"browser-sync": "^2.10.0",
"gulp-filter": "^3.0.1",
"main-bower-files": "^2.9.0",
"gulp-rename": "^1.2.2",
"gulp-sourcemaps": "^1.6.0"
}
here's my project.json:
{
"webroot": "wwwroot",
"version": "1.0.0-*",
"dependencies": {
"EntityFramework.Commands": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final",
"Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final",
"Microsoft.AspNet.Diagnostics.Entity": "7.0.0-rc1-final",
"Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.Server.WebListener": "1.0.0-rc1-final",
"Microsoft.AspNet.Session": "1.0.0-rc1-final",
"Microsoft.AspNet.SignalR.Server": "3.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
"Microsoft.Extensions.Caching.Memory": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.NLog": "1.0.0-rc1-final",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final",
"MvcWebApiCors": "0.3.0"
},
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel",
"ef": "EntityFramework.Commands"
},
"frameworks": {
"dnx451": {
"dependencies": {
"Rally.RestApi": "1.0.0-*"
}
}
},
"exclude": [
"wwwroot",
"node_modules",
"bower_components"
],
"publishExclude": [
"node_modules",
"bower_components",
"**.kproj",
"**.user",
"**.vspscc"
],
"scripts": {
"postrestore": [ "npm install" ],
"prepare": [ "gulp" ]
}
Here's my Bower.json
{
"name": "WebApplication",
"private": true,
"dependencies": {
"bootstrap": "^4.0.0-alpha.2",
"signalr": "^2.2.0",
"font-awesome": "^4.5.0",
"moment": "^2.11.0",
"Chart-js": "^1.0.2",
"tether": "^1.1.1",
"bootstrap-daterangepicker": "2.1.17",
"handlebars": "^4.0.5",
"chosen": "^1.4.2"
}
global.json
{
"projects": [
"src",
"wrap"
],
"sdk": {
"version": "1.0.0-rc1-update1"
}
The overall problem is that none of the css/styles are showing. The site looks skeletal compared to what's on our iis box.
Faced the same issue when tried to install an npm package globally (with -g flag).
Any npm package which I tried to install globally was throwing the same error given below.
npm ERR! code EINVAL
npm ERR! path C:\Users\xxxxxxx'C:\Users\xxxxxxx\AppData\Roaming\npm
npm ERR! Illegal characters in path.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\xxxxxxx\AppData\Local\npm-cache\_logs\2021-12-15T10_49_39_874Z-debug.log
I checked the PATH variable. All is well.
After some research over the internet, tried the following command
npm bin -g
This showed a weird path.
C:\Users\xxxxxx'C:\Users\xxxxxx\AppData\Roaming\npm
(not in PATH env variable)
After reading this post, I tried to set the path prefix of npm config and it worked!
This is how I set it.
npm config set prefix C:\Users\xxxxxxx\AppData\Roaming\npm
You can check & confirm the same using,
npm config get prefix
Ideally, this path was getting added to the '.npmrc' file in my home directory (C:\Users\xxxxxxx). If you don't have any other content in the '.npmrc' file (like an access token to your private npm registry), deleting the file will fix this issue.
Just posting here, so that someone facing similar issue might find
this helpful as the question title relates to this issue.
Found the answer...
Some packages (for instance webpack) have dependency on packages that are not supported on windows which causes NPM to print warning about it. VS interprets it as generic problem and says that packages are not installed even though in reality this warning should be ignored.
I created a new Node Package to start sharing a project that I'm working on, but I'm having a bit of trouble getting my require statement to work.
Project: https://github.com/kcjonson/indigo
The issue that I'm having is that requiring my module this way:
var indigo = require('indigo');
Does not work, but requiring it by more explicit path like:
var indigo = require('indigo/lib/indigo');
works just fine.
I assume this is an issue with my package.json file which is as follows:
{
"author": {
"name": "Kevin Jonson",
"email": "kcjonson#gmail.com",
"url": "http://kevinjonson.com"
},
"name": "indigo",
"description": "Node.js Facade for Perceptive Home Automations Indigo home automation servers python REST API",
"version": "0.0.7",
"repository": {
"type": "git",
"url": "git://github.com/kcjonson/indigo.git" },
"directories": {
"lib": "./lib"
},
"main:": "lib/indigo.js",
"license": "MIT",
"private": false
}
I've successfully added it to NPM and running npm install on the project that is using it does download the correct latest version and places it in the node_modules directory as expected.
Any help would be appreciated, thanks in advance.
I am not sure if that is going to work but still worth a try I guess.
Try removing 'directories'