我使用git克隆一个项目,该项目是使用离子2创建的,但是当我执行命令重新创建node_modules文件夹时,我收到此错误。
npm install
npm WARN deprecated object-keys@0.2.0: Please update to the latest object-keys
npm ERR! code ETARGET
npm ERR! notarget No matching version found for ionic-native@^3.5.0
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 'ionic-hello-world'
npm ERR! notarget
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/wihermes/.npm/_logs/2017-06-02T13_58_47_295Z-debug.log
注意:我已经更新了npm。
有谁知道如何修复它?
答案 0 :(得分:31)
首先尝试删除package-lock.json文件
答案 1 :(得分:26)
您指定的版本或您指定的某个依赖项未发布到npmjs.com
执行npm view ionic-native
(请参阅docs),将为包版本返回以下输出:
versions:
[ '1.0.7',
'1.0.8',
'1.0.9',
'1.0.10',
'1.0.11',
'1.0.12',
'1.1.0',
'1.1.1',
'1.2.0',
'1.2.1',
'1.2.2',
'1.2.3',
'1.2.4',
'1.3.0',
'1.3.1',
'1.3.2',
'1.3.3',
'1.3.4',
'1.3.5',
'1.3.6',
'1.3.7',
'1.3.8',
'1.3.9',
'1.3.10',
'1.3.11',
'1.3.12',
'1.3.13',
'1.3.14',
'1.3.15',
'1.3.16',
'1.3.17',
'1.3.18',
'1.3.19',
'1.3.20',
'1.3.21',
'1.3.22',
'1.3.23',
'1.3.24',
'1.3.25',
'1.3.26',
'1.3.27',
'2.0.0',
'2.0.1',
'2.0.2',
'2.0.3',
'2.1.2',
'2.1.3',
'2.1.4',
'2.1.5',
'2.1.6',
'2.1.7',
'2.1.8',
'2.1.9',
'2.2.0',
'2.2.1',
'2.2.2',
'2.2.3',
'2.2.4',
'2.2.5',
'2.2.6',
'2.2.7',
'2.2.8',
'2.2.9',
'2.2.10',
'2.2.11',
'2.2.12',
'2.2.13',
'2.2.14',
'2.2.15',
'2.2.16',
'2.2.17',
'2.3.0',
'2.3.1',
'2.3.2',
'2.4.0',
'2.4.1',
'2.5.0',
'2.5.1',
'2.6.0',
'2.7.0',
'2.8.0',
'2.8.1',
'2.9.0' ],
正如您所看到的,没有高于2.9.0
的版本已发布到npm存储库。奇怪的是,GitHub上的版本高于此版本。我建议opening an issue with the maintainers on this。
现在你可以manually install the package via the tarball URL of the required release:
npm install https://github.com/ionic-team/ionic-native/tarball/v3.5.0
答案 2 :(得分:10)
我遇到了一个可用的包的问题。强制清理缓存有帮助。
npm cache clean --force
答案 3 :(得分:9)
尝试删除" package-lock.json"并运行" npm install&& npm update",它将安装最新版本并清除所有错误。
答案 4 :(得分:1)
删除package-lock.json应该是最后的选择,至少对于已达到生产状态的项目而言。在遇到与此问题中描述的相同的错误后,我发现我的package-lock.json已损坏,即使它已生成。其中一个包本身就是一个空依赖项,在本例中为 jsdoc :
"jsdoc": {
"version": "x.y.z",
. . . . . .
"dependencies": {
. . . . . ,
"jsdoc": {},
"taffydb": {
. . . . .
请注意我在此示例中省略了代码的不相关部分。
我刚刚删除了空依赖“jsdoc”:{},,它又恢复了。
答案 5 :(得分:0)
也许不是每个人都这样,但是我有同样的问题。在我的情况下,我使用的是最后一个错误,是因为我使用的是我工作所在公司的jfrog manage。
npm config list
结果是
; cli configs
metrics-registry = "https://COMPANYNAME.jfrog.io/COMPANYNAM/api/npm/npm/"
scope = ""
user-agent = "npm/6.3.0 node/v8.11.2 win32 x64"
; userconfig C:\Users\USER\.npmrc
always-auth = true
email = "XXXXXXXXX"
registry = "https://COMPANYNAME.jfrog.io/COMPANYNAME/api/npm/npm/"
; builtin config undefined
prefix = "C:\\Users\\XXXXX\\AppData\\Roaming\\npm"
; node bin location = C:\Program Files\nodejs\node.exe
; cwd = C:\WINDOWS\system32
; HOME = C:\Users\XXXXXX
; "npm config ls -l" to show all defaults.
我通过使用全局指标解决了这个问题。
答案 6 :(得分:0)
如果所有这些都无济于事,请尝试将“ ^ version”中的^交换为〜“〜version”。
答案 7 :(得分:0)
首先,在.zoom {
zoom: 67%;
}
中写C:\users\your PC
然后,使用 npm uninstall -g create-react-app
创建您的项目文件夹。
答案 8 :(得分:0)
试试
npm install --force
npm install --legacy-peer-deps
答案 9 :(得分:0)
对于那些尝试创建自己的包的人,请确保不要跳过某个版本。例如,如果我发布了 my-package
1.0.1
& 1.0.3
,当我从其他地方安装它时,我会收到错误 notarget No matching version found for my-package@1.0.2
。
好消息是修复相当容易,只需“回填”空版本即可。
package.json
-> "version": "1.0.2"
npm publish
编辑:正如评论中所建议的,清除缓存将在本地解决问题
npm cache clean --force