无法通过npm安装@ uirouter / angularjs

时间:2018-01-10 14:19:25

标签: angularjs npm angular-ui-router npm-install

尝试通过npm安装@uirouter/angularjs,但收到以下错误:

npm ERR! code E404
npm ERR! 404 Not Found: @uirouter/angularjs@1.0.12
npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/anatolyt/.npm/_logs/2018-01-10T14_14_22_375Z-debug.log

我正在使用节点 v8.9.1和 npm 5.6.0,我也在使用nvm。使用OSX High Sierra - 最新版本。

我的package.json文件如下:

{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "dependencies": {
    "@uirouter/angularjs":"1.0.12"
  },
  "author": "",
  "license": "ISC"
}

1 个答案:

答案 0 :(得分:0)

我怀疑它与我们的私人npm存储库sinopia有关,因此无法解析从 @ @uirouter/angularjs@angular/core开始的名称等等......

感谢我们的IT人员,他在这个帖子中找到了一个解决方案:Unable to resolve dependencies like "@angular/common",你需要在本地发布:

  • npm config set "@angular:registry" http://registry.npmjs.org/

它将导致 npm 绕过 sinopia 并直接转到@angular范围内所有包的npmjs存储库。你必须为每个范围执行相同的操作。

另一个永久解决方案(未经测试)是修改sinopia的代码: 在sinopia/lib/up-storage.js 更改第10行的代码

var encode  = function(thing) {
  return encodeURIComponent(thing).replace(/^%40/, '@');
};