k0p*_*kus 22 javascript node.js package.json yarnpkg
在运行yarn install
时,即使我已定义了一个许可证,每次没有许可证时都会看到警告:
$ jq . package.json
{
"name": "license-example",
"version": "1.0.0",
"main": "index.js",
"license": "UNLICENSED",
"dependencies": {
"lodash": "^4.17.4",
"moment": "^2.18.1"
}
}
Run Code Online (Sandbox Code Playgroud)
根据npm定义应该是有效的:
最后,如果您不希望授予他人在任何条款下使用私人或未发布的包裹的权利:
Run Code Online (Sandbox Code Playgroud){ "license": "UNLICENSED" }
这是输出:
yarn install
yarn install v0.27.5
warning ../package.json: No license field
[1/4] Resolving packages...
success Already up-to-date.
Done in 0.09s.
Run Code Online (Sandbox Code Playgroud)
我的主要目标是让警告消失,但我也不想提供无效的开源许可证来使警告继续进行,即使它是一个永远不会在外面看到的内部项目.
如何在没有出现警告的情况下将纱线项目标记为预防措施?
k0p*_*kus 42
Yarn和npm默认行为是它们查找父目录.
我package.json
在我的主文件夹中有一个过时的和遗忘的没有许可证字段:
~/package.json
Run Code Online (Sandbox Code Playgroud)
yarn install
在我的项目中运行时:
~/my-project/package.json
Run Code Online (Sandbox Code Playgroud)
然后,纱线也在我的主目录中找到了一个并重新输出了该错误.我误认为是我的项目package.json
.
警告通过..
在父文件夹的路径前面清除.
warning ../package.json: No license field
Run Code Online (Sandbox Code Playgroud)
删除过时的后,package.json
我得到预期的输出:
yarn install v0.27.5
[1/4] Resolving packages...
success Already up-to-date.
Done in 0.88s.
Run Code Online (Sandbox Code Playgroud)
Kee*_*asa 13
我收到以下警告以及其他一些许可警告。
warning package.json: No license field
warning react-material-dashboard@0.3.0: No license field
Run Code Online (Sandbox Code Playgroud)
我所做的只是将package.json
文件的private
属性更新为true
.
{
"name": "some-application-name",
"author": "Keet Sugathadasa",
"email": "email",
"license": "MIT",
"version": "0.0.1",
"private": true,
...
}
Run Code Online (Sandbox Code Playgroud)
有了这个,No license field
当我这样做时,我不再收到任何警告yarn install
。要了解原因,请参阅此问题。
{"private": true}
意味着,npm 将拒绝发布它,以防止意外发布私有存储库。
有关这方面的更多信息,请参阅以下链接。 https://docs.npmjs.com/files/package.json#private https://flaviocopes.com/package-json/#private
我遇到了同样的错误,我发现当我们添加package.json
或时yarn
,某些文件可以位于系统根目录中。因此,错误来自系统根。您只需删除这些文件即可,错误将不再存在。
小智 6
在尝试了多种解决方案后,我发现root中有以下文件,需要删除:
cd ~
~$ rm -rf package.json
~$ rm -rf yarn.lock
~$ rm -rf package-lock.json
Run Code Online (Sandbox Code Playgroud)
小智 6
仔细看看消息:
警告 ../package.json: 没有许可证字段
它指的是一个更高一级目录的 package.json。
通过输入许可证字段或 privat: true 或删除它来修复该问题,因为它可能不应该在那里 ;-)
归档时间: |
|
查看次数: |
12995 次 |
最近记录: |