Node.js npm错误!不允许用户访问包@gulp sourcemaps/map sources:@gulp sourcemaps/map sources
在过去的几个月里,我每天都和nodejs和“Jenkins”一起工作。 没有对my package.json进行任何更改。在“jenkins”构建我的项目时,我遇到以下错误-Node.js npm错误!不允许用户访问包@gulp sourcemaps/map sources:@gulp sourcemaps/map sources,node.js,jenkins,Node.js,Jenkins,在过去的几个月里,我每天都和nodejs和“Jenkins”一起工作。 没有对my package.json进行任何更改。在“jenkins”构建我的项目时,我遇到以下错误- gifsicle@3.0.4 postinstall /var/lib/jenkins/workspace/musichords/public/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-gifsicle/n
gifsicle@3.0.4 postinstall /var/lib/jenkins/workspace/musichords/public/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-gifsicle/node_modules/gifsicle
> node lib/install.js
module.js:338
throw err;
^
Error: Cannot find module '@gulp-sourcemaps/map-sources'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/var/lib/jenkins/workspace/musichords/public/node_modules/vinyl-fs/node_modules/gulp-sourcemaps/index.js:6:15)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
npm WARN optional dep failed, continuing imagemin-optipng@4.3.0
npm WARN optional dep failed, continuing imagemin-jpegtran@4.3.2
npm ERR! Linux 3.16.0-4-amd64
npm ERR! argv "/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_0.12.9/bin/node" "/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_0.12.9/bin/npm" "install"
npm ERR! node v0.12.9
npm ERR! npm v2.14.9
npm ERR! code E403
npm ERR! user developers is not allowed to access package @gulp-sourcemaps/map-sources : @gulp-sourcemaps/map-sources
npm ERR!
感谢您对我的帮助。今天早上我自己的版本遇到了同样的问题。看来
gulpsourcemaps
的作者在他们的包.json
中添加了。我不熟悉作用域依赖项,但这似乎是导致npm安装失败的原因。我使用的是旧版本的npm,它不支持作用域依赖项,但看起来您使用的是新版本-可能是因为他们尚未发布依赖项,或者因为作用域依赖项默认为私有而将其设置为公共
作为短期修复,您可以像我一样,从您自己的包.json中的gulp sourcemaps
的版本说明符中删除^
,这将避免提取具有新范围依赖关系的最新版本的gulp sourcemaps
我们在较旧的npm版本中也遇到了这种情况,但即使升级到4.4.4也无济于事。删除^对我们有用。我可以通过显式地将该作用域的注册表设置为npmjs注册表来解决这个问题
npm配置集@gulp sourcemaps:registryhttps://registry.npmjs.org/
我相信更新.npmrc文件以包含它也会起作用:
@gulp sourcemaps:注册表=https://registry.npmjs.org
这对我有效,另一个答案没有,谢谢!
"dependencies": {
"acorn": "^5.0.0",
"async": "^1.5.1",
"aws-sdk": "^2.2.26",
"blueimp-md5": "^2.1.0",
"bytes": "^2.2.0",
"cheerio": "^0.20.0",
"collections": "^3.0.0",
"convert-source-map": "^1.5.0",
"cors": "^2.7.1",
"csv": "^0.4.6",
"css": "^2.2.1",
"extend": "^3.0.0",
"detect-newline": "^2.1.0",
"debug-fabulous": "^0.0.4",
"geoip-lite-youtab": "*",
"glob": "^7.0.0",
"grunt-contrib-imagemin": "^1.0.1",
"gulp": "^3.9.1",
"gulp-sourcemap": "^1.0.1",
"imagemin": "^5.2.0",
"imagemin-gifsicle": "^5.0.0",
"imagemin-jpegtran":"^5.0.0",
"imagemin-optipng":"^5.0.0",
"jade": "^1.11.0",
"jstransformer-clean-css": "^1.1.0",
"jstransformer-uglify-js": "^1.1.1",
"jstransformer-verbatim": "1.0.0",
"lru-cache": "^4.0.0",
"moment": "^2.11.0",
"needle": "^1.0.0",
"neo4j": "2.0.0-RC2",
"newrelic": "^1.24.1",
"node-genres": "*",
"optipng-bin": "^3.1.2",
"paypal-rest-sdk": "^1.7.1",
"source-map": "^0.5.6",
"string": "^3.3.1",
"text-encoding": "^0.6.1",
"underscore": "^1.8.3",
"underscore.string": "^3.2.2",
"winston": "^2.1.1",
"ytf-node-framework": "*",
"ytf-server": "*",
"ytf-server-commons": "*"
},
"devDependencies": {
"chai": "^3.4.1",
"grunt": "^0.4.5",
"grunt-contrib-clean": "~1.0.0",
"grunt-contrib-copy": "~0.8.2",
"grunt-contrib-watch": "^0.6.1",
"grunt-shell": "^1.1.2",
"mocha": "^2.3.4",
"spec-xunit-file": "^0.0.1-3",
"superagent-no-cache": "^0.1.0",
"supertest": "^1.1.0",
"tizi": "*"
}