您是否要请求功能或报告错误?
虫子
目前的行为是什么?
安装全局软件包并不总是会检测到许可证字段。
如果当前行为是错误,请提供重现步骤。
yarn global add xo
➜ agenda git:(feature/update_dev_deps) ✗ yarn global add xo
yarn global v0.27.5
warning package.json: No license field
warning No license field
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "[email protected]" with binaries:
- xo
warning No license field
Done in 47.10s.
➜ agenda git:(feature/update_dev_deps) ✗ which xo
/usr/local/bin/xo
➜ agenda git:(feature/update_dev_deps) ✗ realpath /usr/local/bin/xo
/Users/xo/.config/yarn/global/node_modules/xo/cli.js
➜ agenda git:(feature/update_dev_deps) ✗ cat /Users/xo/.config/yarn/global/node_modules/xo/package.json | grep license
"license": "MIT",
预期的行为是什么?
使其安装时不会警告缺少许可证。
请提及您的node.js,yarn和操作系统版本。
节点:v8.1.3
纱:0.27.5
作业系统:macOS Sierra 10.12.3(16D32)
我尝试调试此问题,似乎yarn抱怨的不是软件包xo
的许可证,而是用户的package.json
文件的许可证。 当使用yarn global
,yarn会将package.json
与用户已全局安装的所有软件包一起列为依赖项。 现在,我的样子是这样的:
{
"dependencies": {
"create-react-app": "^1.3.1",
"typescript": "^2.3.2",
"xo": "^0.18.2"
}
}
这三个是我在系统中全局安装的唯一软件包。 如您所见,此文件没有许可证,甚至没有名称,所以这就是引发警告的原因。 也许validate
函数normalize-manifest
可以得到额外的参数运行时跳过此检查yarn global
。
也许运行normal时,normalize-manifest中的validate函数可能会收到一个额外的参数,以跳过此检查。
@bestander @arcanis我认为这是要走的路。 你怎么看?
@BYK @kaylieEB看起来像这样可以关闭la#3921
谢谢@olingern !
尽管v1.2.1
仍在发生
奇怪,我得到:
yarn install v1.2.1
warning ../package.json: No license field
但在package.json
:
"license": "MIT",
@ tony-kerz当我的Projects
根目录(例如Projects/my-package
)中有一个package.json
时,我收到此警告。 我一定一次不小心在该目录中运行了yarn
,但是删除该文件使警告消失了
@chrisdothtml就是这样,伙计!
我需要将package.json保留在我的本机应用程序的根目录中。
在这种情况下如何关闭此警告?
@realtebo如果您不打算将其发布为包,则可以设置"private": true
。 那应该禁用警告
谢谢@chrisdothtml 。 我已经做到了,但是没有任何改变。
@realtebo当您在系统根目录中有package.json
或yarn.lock
,只需cd ~
,您便可以找到package.json
和yarn.lock
。 您必须删除这些文件才能使警告消失。
@iTonyYo :我不再需要几个月前报告的情况,因此我无法尝试任何事情。
但我喜欢您的回复,并将链接粘贴到我的个人信息中心中,以后在系统进入Google搜索之前,我会首先找到它。
该问题已解决,但问题尚未解决。 当yarn在当前目录中找到package.json文件时,为什么要查找目录结构? 在处于开发状态时,项目通常存在于其他项目中,尤其是使用gitmodules时。
当yarn在当前目录中找到package.json文件时,为什么要查找目录结构?
先前描述的问题是当前目录iirc中没有package.json。 您可能要打开一个新期刊(请使用精确的复制步骤)。
@chrisdothtml packagge.json
不应从项目中删除,因为在使用Subversion系统时,将克隆存储库的用户将无法安装依赖项。
比拉·贝格拉吉
@ tony-kerz当我的
Projects
根目录(例如Projects/my-package
)中有一个package.json
时,我收到此警告。 我一定一次不小心在该目录中运行了yarn
,但是删除该文件使警告消失了
这工作得很完美,我搞砸了另一个节点的安装/重新安装节点,却忘了自己没清理完。
@ tony-kerz当我的
Projects
根目录(例如Projects/my-package
)中有一个package.json
时,我收到此警告。 我一定一次不小心在该目录中运行了yarn
,但是删除该文件使警告消失了
只是额外的信息,我也从父目录中删除了package.json和yarn.lock,目录不是项目,不知道它们在这里的显示方式)))
我也遇到过同样的问题
$纱巴别
纱线运行v1.21.1
我该如何克服?
PS C:\Users\admin\Desktop\aulinhas\chat-react> create-react-app front
Creating a new React app in C:\Users\admin\Desktop\aulinhas\chat-react\front.
warning ..\..\..\..\package.json: No license field
Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts with cra-template...
yarn add v1.22.4
warning ..\..\..\..\package.json: No license field
...
:(
@iTonyYo谢谢,它有效。
最有用的评论
@ tony-kerz当我的
Projects
根目录(例如Projects/my-package
)中有一个package.json
时,我收到此警告。 我一定一次不小心在该目录中运行了yarn
,但是删除该文件使警告消失了