Npm错误 - 找不到匹配的版本

时间:2017-06-02 14:11:08

标签: npm

我使用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。

有谁知道如何修复它?

10 个答案:

答案 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

好消息是修复相当容易,只需“回填”空版本即可。

  1. 编辑package.json -> "version": "1.0.2"
  2. npm publish

编辑:正如评论中所建议的,清除缓存将在本地解决问题

  • npm cache clean --force